Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Telemetry: add an in-process span sink

Abierto
#2,314 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
42/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
azure, python

Línea de trabajo

Comienza en TelemetryConfig del Python SDK y en la configuración de telemetría de CopilotClient, y luego sigue las rutas existentes de spans de otlp-http y file. Define cómo un exporter o callback proporcionado por el host recibiría spans y recursos dentro del proceso; se considera terminado cuando los spans de modelo y herramienta de la CLI pueden usar el pipeline de OpenTelemetry existente del host sin un servidor de loopback ni un segundo exporter.

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

Descripción

enhancement

TelemetryConfig supports otlp-http and file. Both send spans out of the process. If the app embedding the SDK already has an OpenTelemetry pipeline set up, there's no way to plug the CLI's spans straight into it.

Our stack is Microsoft Agent Framework on top of the Python SDK, running as an Azure AI Foundry hosted agent. The service sets up an OpenTelemetry tracer provider that exports to Azure Monitor, so host-side spans like agent invocations and tool execution land in Application Insights. The CLI's model and tool calls don't, since its spans have nowhere to go except back out over OTLP.

To get them in, we start a loopback HTTP server on an ephemeral port, point otlp_endpoint at it, decode the OTLP/JSON, and pass each span to the tracer provider the service already has. It works, but it's an HTTP server and a decoder just to move spans between two objects in the same process.

A sidecar collector was the other option we tried. It means a second exporter and resource to configure, and it doesn't help when running locally.

What would help

Some way to receive the spans in-process. A callback, or an exporter instance supplied by the host:

CopilotClient(telemetry={"exporter": my_span_exporter})

The exact API doesn't matter much to us. What we want is for the CLI's spans to go through the exporter and resource the host already has, instead of a second pipeline alongside it.

Lenguaje dominante
Java
Estrellas
10.5k
Forks
1.5k
Merge medio
1 d 9 h
PR fusionados (30 d)
130

Guía de contribución

Abrir la 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 github/copilot-sdk

Todos los issues de github/copilot-sdk

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.