Allow connectionString to be overridden multiple times without restarting the AppInsights Agent
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- java, spring-boot
- Área
- observability
Línea de trabajo
Comienza con BytecodeUtilImpl.java alrededor de las líneas 70-73 para entender por qué ConnectionString.configure() actualmente solo se ejecuta una vez; después, inspecciona InheritedConnectionStringSpanProcessor.java alrededor de las líneas 58-62 y la documentación enlazada sobre la sobrescritura de connection strings. Traza cómo se asocian los connection strings con los spans y los destinos de telemetría. Se consideraría completado cuando exista un diseño compatible para cambiar los destinos durante el ciclo de vida de la aplicación o para distintos spans personalizados.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Is your feature request related to a problem? Please describe.
As per your documentation, it's possible to override connection strings per each httpPathPrefix:
https://learn.microsoft.com/en-us/azure/azure-monitor/app/java-standalone-config#connection-string-overrides-preview
{
"preview": {
"connectionStringOverrides": [
{
"httpPathPrefix": "/myapp1",
"connectionString": "..."
},
{
"httpPathPrefix": "/myapp2",
"connectionString": "..."
}
]
}
}
This config is being processed in the following class of AppInsights Agent: InheritedConnectionStringSpanProcessor.java:L58-L62
I understand that this feature is geared towards a use-case where an app being instrumented with AppInsights is an MVC app, and a connectionStringOverride is applied at a Controller method level, where each Controller method has a different PathPrefix. I.e. this use-case is described in OpenTelemetryAPI documentation as creating a custom span per controller method:
https://opentelemetry.io/docs/instrumentation/java/manual/#create-spans
Describe the solution you would like
We are looking for a way to change connectionString multiple times throughout application lifecycle, not per httpPathPrefix
Ideally we would be able to run ConnectionString.configure() and change to a desired connectionString, and ApplicationInsight agent taking that into account, and posting metrics to a newly specified location.
com.microsoft.applicationinsights.connectionstring.ConnectionString.configure(CONNECTION_STRING)
Currently ConnectionString.configure(CONNECTION_STRING) can be run only once to set ConnectionString:
https://github.com/microsoft/ApplicationInsights-Java/blob/main/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/classicsdk/BytecodeUtilImpl.java#L70-L73
We need a way to determine custom OpenTelemetry spans, and have a different ConnectionString per each of these spans.
Describe alternatives you have considered
Describe any alternative solutions or features you've considered.
Additional context
Our app is not Spring MVC app that has different httpPathPrefix, but is rather a SpringBoot cron-executed org.springframework.boot.CommandLineRunner task, that runs periodically, and needs to send AppInsights telemetry to 3 different AppInsights containers.
- Lenguaje dominante
- Java
- Estrellas
- 327
- Forks
- 222
- Merge medio
- 22 h 34 min
- PR fusionados (30 d)
- 14
Preparar el entorno
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 microsoft/ApplicationInsights-Java
-
Java 25 native-access warning from bundled Netty requires broad ALL-UNNAMED permissionPosiblemente ocupada @rajkumar-rangaraj la tomó hace 11 días. Abierto
microsoft/ApplicationInsights-Java#4851 · 1 asignado ·
Los mantenedores suelen responder en 2 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
microsoft/ApplicationInsights-Java#4817 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
microsoft/ApplicationInsights-Java#4770 · 2 comentarios ·
Los mantenedores suelen responder en 2 días
-
Support for tail based sampling?Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
microsoft/ApplicationInsights-Java#4769 · 2 comentarios ·
Los mantenedores suelen responder en 2 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
microsoft/ApplicationInsights-Java#4729 · 125 comentarios ·
Los mantenedores suelen responder en 2 días
Todos los issues de microsoft/ApplicationInsights-Java
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
checkstyle/checkstyle#21755 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
agentic-workflows
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
github/copilot-sdk#2782 ·
Los mantenedores suelen responder en 1 día
-
Make docs website more visibleAbiertodocumentation Good for newcomer quick win
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
CodeForPhilly/benefit-decision-toolkit#519 ·
Los mantenedores suelen responder en 1 día
-
area-deployment triage:bot-seen triage:needs-human
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
microsoft/aspire#20533 · 1 comentario ·
Los mantenedores suelen responder en 1 día