File: v1.proto

package info (click to toggle)
golang-github-newrelic-go-agent 3.15.2-9
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 8,356 kB
  • sloc: sh: 65; makefile: 6
file content (43 lines) | stat: -rw-r--r-- 1,147 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Copyright 2020 New Relic Corporation. All rights reserved.
// SPDX-License-Identifier: Apache-2.0

syntax = "proto3";

package com.newrelic.trace.v1;

option go_package = "github.com/newrelic/go-agent/v3/internal/com_newrelic_trace_v1";

service IngestService {
  // Accepts a stream of Span messages, and returns an irregular stream of
  // RecordStatus messages.
  rpc RecordSpan(stream Span) returns (stream RecordStatus) {}

  // Accepts a stream of SpanBatch messages, and returns an irregular
  // stream of RecordStatus messages. This endpoint can be used to improve
  // throughput when Span messages are small
  rpc RecordSpanBatch(stream SpanBatch) returns (stream RecordStatus) {}
}

message SpanBatch {
  repeated Span spans = 1;
}

message Span {
  string trace_id = 1;
  map<string, AttributeValue> intrinsics = 2;
  map<string, AttributeValue> user_attributes = 3;
  map<string, AttributeValue> agent_attributes = 4;
}

message AttributeValue {
  oneof value {
    string string_value = 1;
    bool bool_value = 2;
    int64 int_value = 3;
    double double_value = 4;
  }
}

message RecordStatus {
  uint64 messages_seen = 1;
}