Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.0.0-20201105173854-bc9fc8d8c4bc / internal / event / export / ocagent / wire / common.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 // This file holds common ocagent types
8
9 type Node struct {
10         Identifier  *ProcessIdentifier `json:"identifier,omitempty"`
11         LibraryInfo *LibraryInfo       `json:"library_info,omitempty"`
12         ServiceInfo *ServiceInfo       `json:"service_info,omitempty"`
13         Attributes  map[string]string  `json:"attributes,omitempty"`
14 }
15
16 type Resource struct {
17         Type   string            `json:"type,omitempty"`
18         Labels map[string]string `json:"labels,omitempty"`
19 }
20
21 type TruncatableString struct {
22         Value              string `json:"value,omitempty"`
23         TruncatedByteCount int32  `json:"truncated_byte_count,omitempty"`
24 }
25
26 type Attributes struct {
27         AttributeMap           map[string]Attribute `json:"attributeMap,omitempty"`
28         DroppedAttributesCount int32                `json:"dropped_attributes_count,omitempty"`
29 }
30
31 type StringAttribute struct {
32         StringValue *TruncatableString `json:"stringValue,omitempty"`
33 }
34
35 type IntAttribute struct {
36         IntValue int64 `json:"intValue,omitempty"`
37 }
38
39 type BoolAttribute struct {
40         BoolValue bool `json:"boolValue,omitempty"`
41 }
42
43 type DoubleAttribute struct {
44         DoubleValue float64 `json:"doubleValue,omitempty"`
45 }
46
47 type Attribute interface {
48         labelAttribute()
49 }
50
51 func (StringAttribute) labelAttribute() {}
52 func (IntAttribute) labelAttribute()    {}
53 func (BoolAttribute) labelAttribute()   {}
54 func (DoubleAttribute) labelAttribute() {}
55
56 type StackTrace struct {
57         StackFrames      *StackFrames `json:"stack_frames,omitempty"`
58         StackTraceHashID uint64       `json:"stack_trace_hash_id,omitempty"`
59 }
60
61 type StackFrames struct {
62         Frame              []*StackFrame `json:"frame,omitempty"`
63         DroppedFramesCount int32         `json:"dropped_frames_count,omitempty"`
64 }
65
66 type StackFrame struct {
67         FunctionName         *TruncatableString `json:"function_name,omitempty"`
68         OriginalFunctionName *TruncatableString `json:"original_function_name,omitempty"`
69         FileName             *TruncatableString `json:"file_name,omitempty"`
70         LineNumber           int64              `json:"line_number,omitempty"`
71         ColumnNumber         int64              `json:"column_number,omitempty"`
72         LoadModule           *Module            `json:"load_module,omitempty"`
73         SourceVersion        *TruncatableString `json:"source_version,omitempty"`
74 }
75
76 type Module struct {
77         Module  *TruncatableString `json:"module,omitempty"`
78         BuildID *TruncatableString `json:"build_id,omitempty"`
79 }
80
81 type ProcessIdentifier struct {
82         HostName       string    `json:"host_name,omitempty"`
83         Pid            uint32    `json:"pid,omitempty"`
84         StartTimestamp Timestamp `json:"start_timestamp,omitempty"`
85 }
86
87 type LibraryInfo struct {
88         Language           Language `json:"language,omitempty"`
89         ExporterVersion    string   `json:"exporter_version,omitempty"`
90         CoreLibraryVersion string   `json:"core_library_version,omitempty"`
91 }
92
93 type Language int32
94
95 const (
96         LanguageGo Language = 4
97 )
98
99 type ServiceInfo struct {
100         Name string `json:"name,omitempty"`
101 }