dotnet-trace Chromium conversion ignores EventSource activity events

Abierto
#5,992 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
76/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
csharp
Área
cli, tooling

Línea de trabajo

Comience en src/Tools/dotnet-trace/TraceFileFormatConverter.cs e inspeccione cómo se configura MutableTraceEventStackSource antes de pasarlo a ChromiumStackSourceWriter. Reproduzca el problema con los comandos proporcionados dotnet-trace collect y convert y, después, verifique que los eventos de actividad de EventSource correlacionados estén representados en la salida de Chromium o que el comando documente el alcance de exportación compatible.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Description

dotnet-trace convert --format Chromium produces an empty traceEvents array for traces containing correlated EventSource start/stop activity events.

The events are present in the .nettrace file and have valid ActivityID/RelatedActivityID values when activity tracking is enabled, but none are emitted as Chromium spans.

Reproduction

Collect an ActivitySource parent and child through the DiagnosticSource bridge:

dotnet-trace collect \
  --providers 'Microsoft-Diagnostics-DiagnosticSource:0x3:5:FilterAndPayloadSpecs=[AS]ActivitySource.EventPipe.Repro,System.Threading.Tasks.TplEventSource:0x80:5' \
  --output activity.nettrace \
  -- dotnet activity-repro.dll

dotnet-trace convert --format Chromium activity.nettrace

Parsing the trace with TraceEvent shows:

  • Parent start with a non-empty ActivityID
  • Child start with a non-empty ActivityID
  • Child RelatedActivityID matching the parent

The generated Chromium file contains:

"traceEvents": []
Expected behavior

Correlated EventSource start/stop events should be represented as nested Chromium spans, or the command should clearly document that Chromium conversion only exports sampled stack data.

Implementation detail

TraceFileFormatConverter builds a MutableTraceEventStackSource and configures:

IncludeEventSourceEvents = false

It then passes that stack source to ChromiumStackSourceWriter. Consequently, EventSource events are discarded before Chromium serialization.

https://github.com/dotnet/diagnostics/blob/main/src/Tools/dotnet-trace/TraceFileFormatConverter.cs

[!NOTE]
This issue was generated with GitHub Copilot.

Lenguaje dominante
C++
Estrellas
1.3k
Forks
407
Merge medio
21 h 5 min
PR fusionados (30 d)
78

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

  • Sin Dockerfile ni archivo de Docker Compose
  • Sin plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de dotnet/diagnostics

Todos los issues de dotnet/diagnostics

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.