Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.0.0-20201028153306-37f0764111ff / internal / event / export / ocagent / wire / trace.go
1 // Copyright 2019 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 package wire
6
7 type ExportTraceServiceRequest struct {
8         Node     *Node     `json:"node,omitempty"`
9         Spans    []*Span   `json:"spans,omitempty"`
10         Resource *Resource `json:"resource,omitempty"`
11 }
12
13 type Span struct {
14         TraceID                 []byte             `json:"trace_id,omitempty"`
15         SpanID                  []byte             `json:"span_id,omitempty"`
16         TraceState              *TraceState        `json:"tracestate,omitempty"`
17         ParentSpanID            []byte             `json:"parent_span_id,omitempty"`
18         Name                    *TruncatableString `json:"name,omitempty"`
19         Kind                    SpanKind           `json:"kind,omitempty"`
20         StartTime               Timestamp          `json:"start_time,omitempty"`
21         EndTime                 Timestamp          `json:"end_time,omitempty"`
22         Attributes              *Attributes        `json:"attributes,omitempty"`
23         StackTrace              *StackTrace        `json:"stack_trace,omitempty"`
24         TimeEvents              *TimeEvents        `json:"time_events,omitempty"`
25         Links                   *Links             `json:"links,omitempty"`
26         Status                  *Status            `json:"status,omitempty"`
27         Resource                *Resource          `json:"resource,omitempty"`
28         SameProcessAsParentSpan bool               `json:"same_process_as_parent_span,omitempty"`
29         ChildSpanCount          bool               `json:"child_span_count,omitempty"`
30 }
31
32 type TraceState struct {
33         Entries []*TraceStateEntry `json:"entries,omitempty"`
34 }
35
36 type TraceStateEntry struct {
37         Key   string `json:"key,omitempty"`
38         Value string `json:"value,omitempty"`
39 }
40
41 type SpanKind int32
42
43 const (
44         UnspecifiedSpanKind SpanKind = 0
45         ServerSpanKind      SpanKind = 1
46         ClientSpanKind      SpanKind = 2
47 )
48
49 type TimeEvents struct {
50         TimeEvent                 []TimeEvent `json:"timeEvent,omitempty"`
51         DroppedAnnotationsCount   int32       `json:"dropped_annotations_count,omitempty"`
52         DroppedMessageEventsCount int32       `json:"dropped_message_events_count,omitempty"`
53 }
54
55 type TimeEvent struct {
56         Time         Timestamp     `json:"time,omitempty"`
57         MessageEvent *MessageEvent `json:"messageEvent,omitempty"`
58         Annotation   *Annotation   `json:"annotation,omitempty"`
59 }
60
61 type Annotation struct {
62         Description *TruncatableString `json:"description,omitempty"`
63         Attributes  *Attributes        `json:"attributes,omitempty"`
64 }
65
66 type MessageEvent struct {
67         Type             MessageEventType `json:"type,omitempty"`
68         ID               uint64           `json:"id,omitempty"`
69         UncompressedSize uint64           `json:"uncompressed_size,omitempty"`
70         CompressedSize   uint64           `json:"compressed_size,omitempty"`
71 }
72
73 type MessageEventType int32
74
75 const (
76         UnspecifiedMessageEvent MessageEventType = iota
77         SentMessageEvent
78         ReceivedMessageEvent
79 )
80
81 type TimeEventValue interface {
82         labelTimeEventValue()
83 }
84
85 func (Annotation) labelTimeEventValue()   {}
86 func (MessageEvent) labelTimeEventValue() {}
87
88 type Links struct {
89         Link              []*Link `json:"link,omitempty"`
90         DroppedLinksCount int32   `json:"dropped_links_count,omitempty"`
91 }
92
93 type Link struct {
94         TraceID    []byte      `json:"trace_id,omitempty"`
95         SpanID     []byte      `json:"span_id,omitempty"`
96         Type       LinkType    `json:"type,omitempty"`
97         Attributes *Attributes `json:"attributes,omitempty"`
98         TraceState *TraceState `json:"tracestate,omitempty"`
99 }
100
101 type LinkType int32
102
103 const (
104         UnspecifiedLinkType LinkType = 0
105         ChildLinkType       LinkType = 1
106         ParentLinkType      LinkType = 2
107 )
108
109 type Status struct {
110         Code    int32  `json:"code,omitempty"`
111         Message string `json:"message,omitempty"`
112 }