Initial commit
This commit is contained in:
247
node_modules/google-proto-files/google/tracing/trace.proto
generated
vendored
Normal file
247
node_modules/google-proto-files/google/tracing/trace.proto
generated
vendored
Normal file
@@ -0,0 +1,247 @@
|
||||
// Copyright 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
package google.tracing.v1;
|
||||
|
||||
import "google/api/annotations.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "google/rpc/status.proto";
|
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/tracing/v1;tracing";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "TraceProto";
|
||||
option java_package = "com.google.tracing.v1";
|
||||
|
||||
|
||||
// A TraceId uniquely identifies a Trace. It is conceptually a 128-bit value,
|
||||
// represented as a string, containing the hex-encoded value.
|
||||
message TraceId {
|
||||
// Trace ID specified as a hex-encoded string. *Must* be 32 bytes long.
|
||||
string hex_encoded = 1;
|
||||
}
|
||||
|
||||
message Module {
|
||||
// Binary module.
|
||||
// E.g. main binary, kernel modules, and dynamic libraries
|
||||
// such as libc.so, sharedlib.so
|
||||
string module = 1;
|
||||
|
||||
// Build_id is a unique identifier for the module,
|
||||
// probably a hash of its contents
|
||||
string build_id = 2;
|
||||
}
|
||||
|
||||
message StackTrace {
|
||||
// Presents a single stack frame in a stack trace.
|
||||
message StackFrame {
|
||||
// Fully qualified names which uniquely identify function/method/etc.
|
||||
string function_name = 1;
|
||||
|
||||
// Used when function name is ‘mangled’. Not guaranteed to be fully
|
||||
// qualified but usually it is.
|
||||
string orig_function_name = 2;
|
||||
|
||||
// File name of the frame.
|
||||
string file_name = 3;
|
||||
|
||||
// Line number of the frame.
|
||||
int64 line_number = 4;
|
||||
|
||||
// Column number is important in JavaScript(anonymous functions),
|
||||
// Might not be available in some languages.
|
||||
int64 column_number = 5;
|
||||
|
||||
// Binary module the code is loaded from.
|
||||
Module load_module = 6;
|
||||
|
||||
// source_version is deployment specific. It might be
|
||||
// better to be stored in deployment metadata.
|
||||
// However, in distributed tracing, it’s hard to keep track of
|
||||
// source/binary versions at one place for all spans.
|
||||
string source_version = 7;
|
||||
}
|
||||
|
||||
// Stack frames of this stack trace.
|
||||
repeated StackFrame stack_frame = 1;
|
||||
|
||||
// User can choose to use his own hash function to hash large labels to save
|
||||
// network bandwidth and storage.
|
||||
// Typical usage is to pass both initially to inform the storage of the
|
||||
// mapping. And in subsequent calls, pass in stack_trace_hash_id only.
|
||||
// User shall verify the hash value is successfully stored.
|
||||
uint64 stack_trace_hash_id = 2;
|
||||
}
|
||||
|
||||
// Allowed label values.
|
||||
message LabelValue {
|
||||
// The value of the label.
|
||||
oneof value {
|
||||
// A string value.
|
||||
string string_value = 1;
|
||||
|
||||
// An integer value.
|
||||
int64 int_value = 2;
|
||||
|
||||
// A boolean value.
|
||||
bool bool_value = 3;
|
||||
}
|
||||
}
|
||||
|
||||
// A span represents a single operation within a trace. Spans can be nested
|
||||
// and form a trace tree. Often, a trace contains a root span that describes the
|
||||
// end-to-end latency and, optionally, one or more subspans for
|
||||
// its sub-operations. Spans do not need to be contiguous. There may be gaps
|
||||
// between spans in a trace.
|
||||
message Span {
|
||||
// A time-stamped annotation in the Span.
|
||||
message TimeEvent {
|
||||
// Text annotation with a set of labels.
|
||||
message Annotation {
|
||||
// A user-supplied message describing the event.
|
||||
string description = 1;
|
||||
|
||||
// A set of labels on the annotation.
|
||||
map<string, LabelValue> labels = 2;
|
||||
}
|
||||
|
||||
// An event describing an RPC message sent/received on the network.
|
||||
message NetworkEvent {
|
||||
// The type of the network event. SENT or RECV event.
|
||||
enum Type {
|
||||
UNSPECIFIED = 0;
|
||||
|
||||
SENT = 1;
|
||||
|
||||
RECV = 2;
|
||||
}
|
||||
|
||||
// If available, this is the kernel time:
|
||||
// For sent messages, this is the time at which the first bit was sent.
|
||||
// For received messages, this is the time at which the last bit was
|
||||
// received.
|
||||
google.protobuf.Timestamp kernel_time = 1;
|
||||
|
||||
Type type = 2;
|
||||
|
||||
// Every message has an identifier, that must be different from all the
|
||||
// network messages in this span.
|
||||
// This is very important when the request/response are streamed.
|
||||
uint64 message_id = 3;
|
||||
|
||||
// Number of bytes send/receive.
|
||||
uint64 message_size = 4;
|
||||
}
|
||||
|
||||
// The local machine absolute timestamp when this event happened.
|
||||
google.protobuf.Timestamp local_time = 1;
|
||||
|
||||
oneof value {
|
||||
// Optional field for user supplied <string, LabelValue> map
|
||||
Annotation annotation = 2;
|
||||
|
||||
// Optional field that can be used only for network events.
|
||||
NetworkEvent network_event = 3;
|
||||
}
|
||||
}
|
||||
|
||||
// Link one span with another which may be in a different Trace. Used (for
|
||||
// example) in batching operations, where a single batch handler processes
|
||||
// multiple requests from different traces.
|
||||
message Link {
|
||||
// The type of the link.
|
||||
enum Type {
|
||||
UNSPECIFIED = 0;
|
||||
|
||||
CHILD = 1;
|
||||
|
||||
PARENT = 2;
|
||||
}
|
||||
|
||||
// The trace and span identifier of the linked span.
|
||||
TraceId trace_id = 1;
|
||||
|
||||
fixed64 span_id = 2;
|
||||
|
||||
Type type = 3;
|
||||
}
|
||||
|
||||
// Identifier for the span. Must be a 64-bit integer other than 0 and
|
||||
// unique within a trace.
|
||||
fixed64 id = 1;
|
||||
|
||||
// Name of the span. The span name is sanitized and displayed in the
|
||||
// Stackdriver Trace tool in the {% dynamic print site_values.console_name %}.
|
||||
// The name may be a method name or some other per-call site name.
|
||||
// For the same executable and the same call point, a best practice is
|
||||
// to use a consistent name, which makes it easier to correlate
|
||||
// cross-trace spans.
|
||||
string name = 2;
|
||||
|
||||
// ID of parent span. 0 or missing if this is a root span.
|
||||
fixed64 parent_id = 3;
|
||||
|
||||
// Local machine clock in nanoseconds from the UNIX epoch,
|
||||
// at which span execution started.
|
||||
// On the server side these are the times when the server application
|
||||
// handler starts running.
|
||||
google.protobuf.Timestamp local_start_time = 4;
|
||||
|
||||
// Local machine clock in nanoseconds from the UNIX epoch,
|
||||
// at which span execution ended.
|
||||
// On the server side these are the times when the server application
|
||||
// handler finishes running.
|
||||
google.protobuf.Timestamp local_end_time = 5;
|
||||
|
||||
// Properties of a span. Labels at the span level.
|
||||
// E.g.
|
||||
// "/instance_id": "my-instance"
|
||||
// "/zone": "us-central1-a"
|
||||
// "/grpc/peer_address": "ip:port" (dns, etc.)
|
||||
// "/grpc/deadline": "Duration"
|
||||
// "/http/user_agent"
|
||||
// "/http/request_bytes": 300
|
||||
// "/http/response_bytes": 1200
|
||||
// "/http/url": google.com/apis
|
||||
// "/pid"
|
||||
// "abc.com/mylabel": "my label value"
|
||||
map<string, LabelValue> labels = 6;
|
||||
|
||||
// Stack trace captured at the start of the span. This is optional.
|
||||
StackTrace stack_trace = 7;
|
||||
|
||||
// A collection of time-stamped events.
|
||||
repeated TimeEvent time_events = 8;
|
||||
|
||||
// A collection of links.
|
||||
repeated Link links = 9;
|
||||
|
||||
// The final status of the Span. This is optional.
|
||||
google.rpc.Status status = 10;
|
||||
|
||||
// True if this Span has a remote parent (is an RPC server Span).
|
||||
bool has_remote_parent = 11;
|
||||
}
|
||||
|
||||
// A trace describes how long it takes for an application to perform some
|
||||
// operations. It consists of a tree of spans, each of which contains details
|
||||
// about an operation with time information and operation details.
|
||||
message Trace {
|
||||
// Globally unique identifier for the trace. Common to all the spans.
|
||||
TraceId trace_id = 1;
|
||||
|
||||
// Collection of spans in the trace. The root span has parent_id == 0.
|
||||
repeated Span spans = 2;
|
||||
}
|
||||
Reference in New Issue
Block a user