💬

go, NewRelic ExternalSegmentが採用できないときのinCodeSegment.

2024/04/11に公開

NewRelicで外部のSDKなどを採用して外部トランザクション(ExternalTransaction)をTrace情報として付加できない場合の対処法
インコードSegmentを採用する

{
    txn := newrelic.FromContext(ctx)

    seg := newrelic.Segment{}
    seg.Name = "inCodeSegmentName"
    seg.StartTime = txn.StartSegmentNow()
    
    sdk.client.send() // ここの処理にどれくらい時間かかってるか知りたい

    seg.End()
}

これで既存のSpan(Segment)の中にinCodeSegmentName Spanが追加される

そもそもExternalSegmentは分散トレーシングをつなげたいとき向けなはずなんですけどね

Discussion