>Java >java지도 시간 >opentelemetry/honeycomb용 JetBrains Rider 플러그인을 게시하는 방법

opentelemetry/honeycomb용 JetBrains Rider 플러그인을 게시하는 방법

DDD
DDD원래의
2024-10-23 06:07:30354검색

How to publish JetBrains Rider plugin for opentelemetry/honeycomb

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.