| // 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"` |
| } |