2주 전에 honeycomb.io에서 작업할 기회가 있었는데 주로 appinsights azre에서도 데이터를 보내는 코드를 변경하고 있었는데 이제 honeycomb에도 데이터를 보내야 했습니다. 너무 복잡하지는 않았지만 잡기가 힘들더군요
행을 기록하고 엔드포인트를 올바르게 호출했는지, 어떤 데이터를 보냈는지 확인하세요. appinsights https://github.com/Socolin/ApplicationInsightsRiderPlugin에 대한 훌륭한 플러그인이 있지만 opentelemetry 호출을 표시할 수 있는 플러그인은 없었습니다. 예 honeycomb.io는 현재 관찰 가능성을 위한 업계 표준인 opentelemetry를 의미하는 OTEL 프로토콜을 사용합니다.
그래서 구성하기 쉽지 않은 opentelemetry 디버그 로그를 보는 방법을 배워야 했습니다. 왜냐하면 opentelemetry API를 사용하려면 로그에 일부 데이터를 표시하는 콘솔 내보내기를 구성해야 하기 때문입니다.
Activity.TraceId: 39de3d235089b014c5e37abefdc3a7f8 Activity.SpanId: 03ae17902e901577 Activity.TraceFlags: Recorded Activity.ActivitySourceName: Microsoft.AspNetCore Activity.DisplayName: GET Hello Activity.Kind: Server Activity.StartTime: 2024-10-06T21:53:05.9553689Z Activity.Duration: 00:00:00.2187686 Activity.Tags: server.address: localhost server.port: 8080 http.request.method: GET url.scheme: http url.path: /Hello network.protocol.version: 1.1 user_agent.original: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0 http.route: Hello http.response.status_code: 200 Resource associated with Activity: service.name: my-service-name telemetry.sdk.name: opentelemetry telemetry.sdk.language: dotnet telemetry.sdk.version: 1.9.0
이를 파싱하고 라이더 디버그 창에 더 잘 표시하려면 json으로 변경해야 했기 때문에 이 새로운 내보내기 도구를 작성했습니다.
{"activity":{"traceId":"b49d03d8b55c2f8dfc9f385b3191fdee","spanId":"47c531f9a5a32dca","activityTraceFlags":"Recorded","parentSpanId":"0000000000000000","activitySourceName":"Microsoft.AspNetCore","activitySourceVersion":"","displayName":"GET Hello","kind":"Server","startTime":"2024-10-06T21:54:22.8551436Z","duration":"00:00:00.0013247","tags":{"server.address":"localhost","server.port":"8080","http.request.method":"GET","url.scheme":"http","url.path":"/Hello","network.protocol.version":"1.1","user_agent.original":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101 Firefox/131.0","http.route":"Hello","http.response.status_code":"200"},"statusCode":"Unset","events":[],"links":[],"resource":{"service.name":"my-service-name","telemetry.sdk.name":"opentelemetry","telemetry.sdk.language":"dotnet","telemetry.sdk.version":"1.9.0"},"rootId":"b49d03d8b55c2f8dfc9f385b3191fdee","operationName":"Microsoft.AspNetCore.Hosting.HttpRequestIn"}}
이제 json 디버그 로그가 생겼습니다. 필요한 것은 Socolin 플러그인에서 appinsights를 제거하고 opentelemetry json을 구문 분석하여 디버그 창에 표시하는 것뿐이었습니다.
여기에서 영상이나 스크린샷을 확인하세요
위 내용은 opentelemetry/honeycomb용 JetBrains Rider 플러그인을 게시하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!