Spans for HTTP requests - `UnityWebRequest` and `HttpMessageHandler`
Los mantenedores suelen responder en 3 días
@bitsandfoxes ya está trabajando en esto.
Desde el 9/5/2022.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
When a user makes an HTTP request to their backend, we want to measure how long that took. And propagate the trace id so we can have end to end tracing.
This can be split in:
HttpMessageHandler
The .NET approach. Used in Sentry Defenses:
https://github.com/getsentry/sentry-defenses/blob/2989949f857f1cccb46814ce0a05d50f603f9222/game/Assets/Scripts/Manager/BugSpawner.cs#L37
We need to find a way add the handler automatically. At least on the one assembly created by Unity when compiling the scripts.
Steps:
- A PoC that gets a DLL that has
new HttpClient(...)and adds the middleware (as done in Sentry defenses) @SimonCropp - Find out which Unity hooks can we rely on to get the
GameAssembly.dll@bitsandfoxes - With the PoC we can discuss next steps such as: Is this a .NET Global Tool? Do we have the code in
Sentry.Unity.Editor?
UnityWebRequests (Unity Client)
Example HTTP client usage: https://github.com/getsentry/sentry-unity/blob/7774137c35ce4a3653b934e15ed15f0078a2ee36/src/Sentry.Unity/UnityWebRequestTransport.cs#L75-L81
We need a way to plug Sentry in there. First 'manually' with some C# code. Then automatically, possibly with IL weaving.
- We need a strategy to get spans/crumbs similar to SentryHttpMessageHandler @bitsandfoxes
- PoC with IL weaving a DLL using
UnityWebRequestand add the new interceptor @SimonCropp - With the PoC we can discuss next steps such as: Is this a .NET Global Tool? Do we have the code in
Sentry.Unity.Editor?
- Lenguaje dominante
- C#
- Estrellas
- 294
- Forks
- 63
- Merge medio
- 3 d 17 h
- PR fusionados (30 d)
- 26
Preparar el entorno
- Sin Dockerfile ni 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 getsentry/sentry-unity
-
Feature Unity
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
getsentry/sentry-unity#2923 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
Tests Unity
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
getsentry/sentry-unity#2918 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
Drop `Release` and `Environment` from the editor config windowPosiblemente ocupada @armadavalor la tomó hace 3 días. AbiertoBreaking Change Editor Good First Issue Improvement Unity
Dificultad 2/5 1-3 horas Aptitud para principiantes 58/100
getsentry/sentry-unity#2914 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
Make CI stable and fasterAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
getsentry/sentry-unity#2913 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
Feature Unity
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
getsentry/sentry-unity#2796 · 4 comentarios ·
Los mantenedores suelen responder en 3 días
Todos los issues de getsentry/sentry-unity
Issues similares
-
needs attention untriaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet#3666 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
stryker-mutator/stryker-net#3974 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
JiaFeiMiao-K-Cat/DiscImageStudio#171 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
DDOS VulnerbilityAbiertoS: Untriaged
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
DeltaV-Station/Delta-v#6711 ·
Los mantenedores suelen responder en 1 día