| // Copyright 2019 The Go Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style | |
| // license that can be found in the LICENSE file. | |
| package wire | |
| // This file holds common ocagent types | |
| type Node struct { | |
| Identifier *ProcessIdentifier `json:"identifier,omitempty"` | |
| LibraryInfo *LibraryInfo `json:"library_info,omitempty"` | |
| ServiceInfo *ServiceInfo `json:"service_info,omitempty"` | |
| Attributes map[string]string `json:"attributes,omitempty"` | |
| } | |
| type Resource struct { | |
| Type string `json:"type,omitempty"` | |
| Labels map[string]string `json:"labels,omitempty"` | |
| } | |
| type TruncatableString struct { | |
| Value string `json:"value,omitempty"` | |
| TruncatedByteCount int32 `json:"truncated_byte_count,omitempty"` | |
| } | |
| type Attributes struct { | |
| AttributeMap map[string]Attribute `json:"attributeMap,omitempty"` | |
| DroppedAttributesCount int32 `json:"dropped_attributes_count,omitempty"` | |
| } | |
| type StringAttribute struct { | |
| StringValue *TruncatableString `json:"stringValue,omitempty"` | |
| } | |
| type IntAttribute struct { | |
| IntValue int64 `json:"intValue,omitempty"` | |
| } | |
| type BoolAttribute struct { | |
| BoolValue bool `json:"boolValue,omitempty"` | |
| } | |
| type DoubleAttribute struct { | |
| DoubleValue float64 `json:"doubleValue,omitempty"` | |
| } | |
| type Attribute interface { | |
| labelAttribute() | |
| } | |
| func (StringAttribute) labelAttribute() {} | |
| func (IntAttribute) labelAttribute() {} | |
| func (BoolAttribute) labelAttribute() {} | |
| func (DoubleAttribute) labelAttribute() {} | |
| type StackTrace struct { | |
| StackFrames *StackFrames `json:"stack_frames,omitempty"` | |
| StackTraceHashID uint64 `json:"stack_trace_hash_id,omitempty"` | |
| } | |
| type StackFrames struct { | |
| Frame []*StackFrame `json:"frame,omitempty"` | |
| DroppedFramesCount int32 `json:"dropped_frames_count,omitempty"` | |
| } | |
| type StackFrame struct { | |
| FunctionName *TruncatableString `json:"function_name,omitempty"` | |
| OriginalFunctionName *TruncatableString `json:"original_function_name,omitempty"` | |
| FileName *TruncatableString `json:"file_name,omitempty"` | |
| LineNumber int64 `json:"line_number,omitempty"` | |
| ColumnNumber int64 `json:"column_number,omitempty"` | |
| LoadModule *Module `json:"load_module,omitempty"` | |
| SourceVersion *TruncatableString `json:"source_version,omitempty"` | |
| } | |
| type Module struct { | |
| Module *TruncatableString `json:"module,omitempty"` | |
| BuildID *TruncatableString `json:"build_id,omitempty"` | |
| } | |
| type ProcessIdentifier struct { | |
| HostName string `json:"host_name,omitempty"` | |
| Pid uint32 `json:"pid,omitempty"` | |
| StartTimestamp Timestamp `json:"start_timestamp,omitempty"` | |
| } | |
| type LibraryInfo struct { | |
| Language Language `json:"language,omitempty"` | |
| ExporterVersion string `json:"exporter_version,omitempty"` | |
| CoreLibraryVersion string `json:"core_library_version,omitempty"` | |
| } | |
| type Language int32 | |
| const ( | |
| LanguageGo Language = 4 | |
| ) | |
| type ServiceInfo struct { | |
| Name string `json:"name,omitempty"` | |
| } |