// Copyright 2018, OpenCensus Authors // // 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"; // NOTE: This proto is experimental and is subject to change at this point. // Please do not use it at the moment. package opencensus.proto.agent.common.v1; import "google/protobuf/timestamp.proto"; option java_multiple_files = true; option java_package = "io.opencensus.proto.agent.common.v1"; option java_outer_classname = "CommonProto"; option go_package = "github.com/census-instrumentation/opencensus-proto/gen-go/agent/common/v1"; option ruby_package = "OpenCensus.Proto.Agent.Common.V1"; // Identifier metadata of the Node that produces the span or tracing data. // Note, this is not the metadata about the Node or service that is described by associated spans. // In the future we plan to extend the identifier proto definition to support // additional information (e.g cloud id, etc.) message Node { // Identifier that uniquely identifies a process within a VM/container. ProcessIdentifier identifier = 1; // Information on the OpenCensus Library that initiates the stream. LibraryInfo library_info = 2; // Additional information on service. ServiceInfo service_info = 3; // Additional attributes. map attributes = 4; // TODO(songya): Add more identifiers in the future as needed, like cloud // identifiers. } // Identifier that uniquely identifies a process within a VM/container. message ProcessIdentifier { // The host name. Usually refers to the machine/container name. // For example: os.Hostname() in Go, socket.gethostname() in Python. string host_name = 1; // Process id. uint32 pid = 2; // Start time of this ProcessIdentifier. Represented in epoch time. google.protobuf.Timestamp start_timestamp = 3; } // Information on OpenCensus Library. message LibraryInfo { enum Language { LANGUAGE_UNSPECIFIED = 0; CPP = 1; C_SHARP = 2; ERLANG = 3; GO_LANG = 4; JAVA = 5; NODE_JS = 6; PHP = 7; PYTHON = 8; RUBY = 9; WEB_JS = 10; } // Language of OpenCensus Library. Language language = 1; // Version of Agent exporter of Library. string exporter_version = 2; // Version of OpenCensus Library. string core_library_version = 3; } // Additional service information. message ServiceInfo { // Name of the service. string name = 1; // TODO(songya): add more fields as needed. }