Isolate webhook telemetry sampling tests from concurrent tracing providers
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 30/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- csharp
- Área
- observability-sre, testing-qa
Línea de trabajo
Start with WebHooksJobTests.ProcessQueueEntryAsync_GeneralWebHook_DeliversWithSafeTelemetry in tests/Exceptionless.Tests and run the filtered command from the issue to reproduce the sampled and unsampled cases. Then check which other tests register HTTP tracing providers (Program/ApmExtensions, AssistantDiagnosticsTests) and how fixtures and collections isolate them. Done when both sampler cases pass repeatedly with retries disabled, the full API shard passes, and the span-count assertions are unchanged.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The required API check for #2629 failed in the unchanged, already-merged WebHooksJobTests.ProcessQueueEntryAsync_GeneralWebHook_DeliversWithSafeTelemetry(sampled: false): expected 0 client spans, observed 5. Failing shard. The test file is identical to main at 0f2bda22b.
Local reproduction on .NET/ASP.NET Core 10.0.12 with the repository's OpenTelemetry 1.19.x packages:
- Both isolated theory cases pass without retries (2/2).
- Add the following temporary provider at the start of that test's Arrange section, before its existing provider. The unsampled case fails deterministically with expected 0, actual 5; the sampled case passes. All earlier request-header/cookie assertions still pass.
using var competingTracing = Sdk.CreateTracerProviderBuilder()
.SetSampler(new AlwaysOnSampler())
.AddHttpClientInstrumentation()
.Build();
dotnet build tests/Exceptionless.Tests --no-restore
dotnet tests/Exceptionless.Tests/bin/Debug/net10.0/Exceptionless.Tests.dll --filter-method '*GeneralWebHook*' --minimum-expected-tests 1
This establishes that a competing process-wide provider is sufficient to produce the CI signature; it does not identify which hosted test/provider was active at that instant. Program/ApmExtensions and AssistantDiagnosticsTests register HTTP tracing providers, and the CI log shows API hosts starting around the failure.
Implement the smallest deterministic isolation of sampling/provider lifetimes (consider an isolated nonparallel collection or process boundary after checking fixture disposal). Preserve all span counts, URL-redaction, cookie, redirect, baggage, and propagation assertions. Do not add sleeps, acceptance retries, or skip/relax the flaky-test gate. Verify both sampler cases repeatedly with retries disabled and run the affected complete API shard. Keep any production webhook behavior change separately justified.
The temporary provider was removed from #2629; the forwarding PR does not change this test. A later green rerun alone does not close this issue.
- Lenguaje dominante
- C#
- Estrellas
- 2.5k
- Forks
- 508
- Merge medio
- 2 d 17 h
- PR fusionados (30 d)
- 40
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de exceptionless/Exceptionless
-
bug documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
exceptionless/Exceptionless#2707 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
exceptionless/Exceptionless#2706 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
exceptionless/Exceptionless#2705 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
exceptionless/Exceptionless#2704 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
exceptionless/Exceptionless#2703 ·
Los mantenedores suelen responder en 1 día
Todos los issues de exceptionless/Exceptionless
Issues similares
-
Add 'upm' tag on githubAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
bug mac アプリ: コード アプリ: チャット 優先: 中 要トリアージ
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
yksr-melt/Meltype#1346 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Collect corrected translations in the app, with no GitHub account and the least possible frictionAbiertolocalization medium ui
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
hexide-io/HexIDE#2819 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100