diff --git a/agent_build_refactored/container_images/image_builders.py b/agent_build_refactored/container_images/image_builders.py index 7196cabacd..cced6b87f8 100644 --- a/agent_build_refactored/container_images/image_builders.py +++ b/agent_build_refactored/container_images/image_builders.py @@ -230,6 +230,8 @@ def create_agent_filesystem( for third_party_lib in third_party_lis_root.iterdir(): if third_party_lib.name == "tcollector": continue + if third_party_lib.name == "opentelemetry": + continue if third_party_lib.is_dir(): shutil.rmtree(third_party_lib) if third_party_lib.is_file(): diff --git a/agent_build_refactored/managed_packages/managed_packages_builders.py b/agent_build_refactored/managed_packages/managed_packages_builders.py index 5673e159bf..ef2b60e19a 100644 --- a/agent_build_refactored/managed_packages/managed_packages_builders.py +++ b/agent_build_refactored/managed_packages/managed_packages_builders.py @@ -848,6 +848,10 @@ def _build_package_root(self): SOURCE_ROOT / "scalyr_agent/third_party/tcollector", third_party_libs_dir / "tcollector", ) + shutil.copytree( + SOURCE_ROOT / "scalyr_agent/third_party/opentelemetry", + third_party_libs_dir / "opentelemetry", + ) shutil.copy2( SOURCE_ROOT / "scalyr_agent/third_party/__init__.py", third_party_libs_dir / "__init__.py", diff --git a/dev-requirements-new.txt b/dev-requirements-new.txt index 28ceac72db..36ab6a0554 100644 --- a/dev-requirements-new.txt +++ b/dev-requirements-new.txt @@ -12,6 +12,9 @@ python-dateutil==2.8.2 repoze.lru==0.7 six==1.14.0 +# Required for opentelemetry support. +protobuf==3.17.3 + # Required for redis monitor. redis==2.10.5 diff --git a/scalyr_agent/agent_main.py b/scalyr_agent/agent_main.py index c54b922227..6a4aae064d 100755 --- a/scalyr_agent/agent_main.py +++ b/scalyr_agent/agent_main.py @@ -597,7 +597,7 @@ def __perform_config_checks(self, no_check_remote): ) # Send a test message to the server to make sure everything works. If not, print a decent error message. - if not no_check_remote or self.__config.use_new_ingestion: + if self.__config.transport == "scalyr" and (not no_check_remote or self.__config.use_new_ingestion): client = create_client(self.__config, quiet=True) try: ping_result = client.ping() diff --git a/scalyr_agent/client_auth.py b/scalyr_agent/client_auth.py new file mode 100644 index 0000000000..983ea1db79 --- /dev/null +++ b/scalyr_agent/client_auth.py @@ -0,0 +1,97 @@ +import datetime +import json +import urllib +from base64 import b64encode + +from urllib.parse import urlparse + +import scalyr_agent.scalyr_logging as scalyr_logging + +import requests + +log = scalyr_logging.getLogger(__name__) + + +class ClientAuth(object): + def __init__(self, configuration, headers): + log.setLevel(configuration.debug_level) + self.configuration = configuration + self.headers = headers + if self.configuration.auth == "oauth2": + self.auth = OAuth2(self.configuration, self.headers) + elif self.configuration.auth == "bearer": + self.auth = BearerToken(self.configuration, self.headers) + elif self.configuration.auth == "basic": + self.auth = Basic(self.configuration, self.headers) + else: + self.auth = NoAuth(self.configuration, self.headers) + + def authenticate(self): + return self.auth.authenticate() + +class NoAuth(object): + def __init__(self, configuration, headers): + self.headers = headers + + def authenticate(self): + # Add a header just so for traceability + self.headers["x-no-custom-auth"]="true" + return True + +# Simple Authorization Header as Bearer Token using `api_key` configuration +class BearerToken(object): + def __init__(self, configuration, headers): + headers.set("Authorization", "Bearer " + configuration.api_key) + + def authenticate(self): + return True + +class Basic(object): + def __init__(self, configuration, headers): + authorization_header_value = b64encode( + bytes(('' + configuration.basic_username + ":" + configuration.basic_password).encode("utf-8"))).decode('utf-8') + headers["Authorization"]="Basic " + authorization_header_value + + def authenticate(self): + return True + +# Implement https://datatracker.ietf.org/doc/html/rfc6749#section-4.4 flow +class OAuth2(object): + def __init__(self, configuration, headers): + self.headers = headers # Headers modified for external requests + self.client_id = configuration.oauth_client_id + self.client_secret = configuration.oauth_client_secret + self.token_url = configuration.oauth_token_url + scopes = " ".join(configuration.oauth_scopes) + # Payload Body for the token exchange + self.auth_request = "grant_type=client_credentials&scope=" + urllib.parse.quote(scopes) + # Our token to use in requests + self.token = None + # When the token expires + self.expiry_time = datetime.datetime.now() + self.verify_ssl = configuration.verify_server_certificate + # Authentication Headers for the token exchange + authorization_header_value = b64encode( bytes(('' + self.client_id + ':' + self.client_secret).encode("utf-8"))).decode('utf-8') + self.auth_headers = { "Content-Type": "application/x-www-form-urlencoded", "Authorization" : "Basic " + authorization_header_value} + + def authenticate(self): + if self.token == None or self.expiry_time < datetime.datetime.now(): + log.info("Request/Refresh OAuth2 Token") + if not self.refresh_token(): + raise Exception("OAuth2: Unable to refresh token") + self.headers["Authorization"]="Bearer " + self.token + return True + + def refresh_token(self): + log.log(scalyr_logging.DEBUG_LEVEL_1, "OAuth2 Token Request to %s, body: %s, headers: %s" % (self.token_url, self.auth_request, self.headers)) + resp = requests.post(self.token_url, data=self.auth_request, headers=self.auth_headers, verify=self.verify_ssl) + if resp.status_code == 200: + log.log(scalyr_logging.DEBUG_LEVEL_1, "OAUTH Response: %s" % (resp.content)) + auth_response = json.loads(resp.content) + self.token = auth_response["access_token"] + self.expiry_time = datetime.datetime.now() + datetime.timedelta(seconds=auth_response["expires_in"]) + log.log(scalyr_logging.DEBUG_LEVEL_1, "OAUTH Token: %s (expires: %s)" % (self.token, self.expiry_time)) + return True + else: + raise Exception("Unable to obtain OAuth2 Token: " + str(resp.status_code) + "(" + str(resp.content) + ")") + return False diff --git a/scalyr_agent/configuration.py b/scalyr_agent/configuration.py index d9d7ba0c6f..179f6dfdb1 100644 --- a/scalyr_agent/configuration.py +++ b/scalyr_agent/configuration.py @@ -766,6 +766,8 @@ def print_useful_settings(self, other_config=None): "default_sessions_per_worker", "default_worker_session_status_message_interval", "enable_worker_session_process_metrics_gather", + "server_url" + "transport", # NOTE: It's important we use sanitzed_ version of this method which masks the API key "sanitized_worker_configs", ] @@ -1498,6 +1500,51 @@ def api_key(self): """Returns the configuration value for 'api_key'.""" return self.__get_config().get_string("api_key") + @property + def server_url(self): + """Returns the configuration value for 'server_url'.""" + return self.__get_config().get_string("server_url") + + @property + def auth(self): + """Returns the configuration value for 'auth'.""" + return self.__get_config().get_string("auth") + + @property + def oauth_client_id(self): + """Returns the configuration value for 'oauth_client_id'.""" + return self.__get_config().get_string("oauth_client_id") + + @property + def oauth_client_secret(self): + """Returns the configuration value for 'oauth_client_secret'.""" + return self.__get_config().get_string("oauth_client_secret") + + @property + def oauth_token_url(self): + """Returns the configuration value for 'oauth_token_url'.""" + return self.__get_config().get_string("oauth_token_url") + + @property + def oauth_scopes(self): + """Returns the configuration value for 'oauth_scopes'.""" + return self.__get_config().get_json_array("oauth_scopes") + + @property + def basic_username(self): + """Returns the configuration value for 'basic_username'.""" + return self.__get_config().get_string("basic_username") + + @property + def basic_password(self): + """Returns the configuration value for 'basic_password'.""" + return self.__get_config().get_string("basic_password") + + @property + def transport(self): + """Returns the configuration value for 'transport'.""" + return self.__get_config().get_string("transport") + @property def scalyr_server(self): """Returns the configuration value for 'scalyr_server'.""" @@ -2179,6 +2226,10 @@ def __set_api_key(self, config, api_key): if api_key: config.put("api_key", api_key) + # Ingore api_key check if we are not writing to Scalyr/DataSet/SDL + if "transport" in config and config.get_string("transport") != "scalyr": + return + if "api_key" not in config: raise BadConfiguration( 'The configuration file is missing the required field "api_key" that ' @@ -2264,6 +2315,36 @@ def __verify_main_config_and_apply_defaults( self.__verify_or_set_optional_string( config, "api_key", "", description, apply_defaults, env_aware=True ) + self.__verify_or_set_optional_string( + config, "transport", "scalyr", description, apply_defaults, env_aware=True + ) + self.__verify_or_set_optional_string( + config, "auth", "", description, apply_defaults, env_aware=True + ) + self.__verify_or_set_optional_string( + config, "oauth_client_id", "", description, apply_defaults, env_aware=True + ) + self.__verify_or_set_optional_string( + config, "oauth_client_secret", "", description, apply_defaults, env_aware=True + ) + self.__verify_or_set_optional_string( + config, "oauth_token_url", "", description, apply_defaults, env_aware=True + ) + self.__verify_or_set_optional_array_of_strings( + config, + "oauth_scopes", + [], + description, + apply_defaults, + separators=[None, ","], + env_aware=True, + ) + self.__verify_or_set_optional_string( + config, "basic_username", "", description, apply_defaults, env_aware=True + ) + self.__verify_or_set_optional_string( + config, "basic_password", "", description, apply_defaults, env_aware=True + ) self.__verify_or_set_optional_bool( config, "allow_http", False, description, apply_defaults, env_aware=True ) @@ -2827,6 +2908,27 @@ def __verify_main_config_and_apply_defaults( apply_defaults, env_aware=True, ) + self.__verify_or_set_optional_string( + config, + "transport", + "scalyr", + description, + apply_defaults + ) + self.__verify_or_set_optional_string( + config, + "server_url", + "", + description, + apply_defaults + ) + self.__verify_or_set_optional_string( + config, + "auth", + "", + description, + apply_defaults + ) self.__verify_or_set_optional_bool( config, "use_new_ingestion", @@ -4200,10 +4302,14 @@ def __verify_workers_entry_and_set_defaults(self, worker_entry, entry_index=None worker_entry, "api_key", description % entry_index ) + # Only use scalyr_server if our transport is scalyr (but still use it if we don't get a server_url) + default_server_url = self.scalyr_server + if self.transport != "scalyr" and self.server_url is not None and self.server_url != "": + default_server_url = self.server_url self.__verify_or_set_optional_string( worker_entry, "server_url", - default_value=self.scalyr_server, + default_value=default_server_url, config_description=description % entry_index, ) diff --git a/scalyr_agent/copying_manager/worker.py b/scalyr_agent/copying_manager/worker.py index 2b147ca864..dcdbf530cf 100644 --- a/scalyr_agent/copying_manager/worker.py +++ b/scalyr_agent/copying_manager/worker.py @@ -212,7 +212,8 @@ def __init__(self, add_events_request, completion_callback): # If there is a AddEventsTask object already created for the next request due to pipelining, this is set to it. # This must be the next request if this request is successful, otherwise, we will lose bytes. self.next_pipelined_task = None - + # last status + self.receive_response_status = () class CopyingManagerWorkerSessionInterface(six.with_metaclass(ABCMeta)): """ @@ -489,9 +490,10 @@ def run(self): # on the ground and advance. if current_time - last_success > self.__config.max_retry_time: if self.__pending_add_events_task is not None: + if ( "parseResponseFailed" - in self.__pending_add_events_task.__receive_response_status + in self.__pending_add_events_task.receive_response_status ): log.error( "Repeatedly failed to parse response due to exception. Dropping events", @@ -586,7 +588,7 @@ def run(self): full_response = "" else: (result, bytes_sent, full_response) = get_response() - self.__pending_add_events_task.__receive_response_status = ( + self.__pending_add_events_task.receive_response_status = ( result ) blocking_response_time_end = time.time() @@ -1226,8 +1228,12 @@ def _init_scalyr_client(self, quiet=False): """ api_key = self.__worker_config_entry["api_key"] if self.__config.use_new_ingestion: - self.__new_scalyr_client = create_new_client(self.__config, api_key=api_key) + elif self.__config.transport == "otlp": + from scalyr_agent.otlp_client import ( + create_otlp_client, + ) + self.__scalyr_client = create_otlp_client(self.__config, self.__worker_config_entry) else: self.__scalyr_client = create_client( self.__config, diff --git a/scalyr_agent/otlp_client.py b/scalyr_agent/otlp_client.py new file mode 100644 index 0000000000..41619865c7 --- /dev/null +++ b/scalyr_agent/otlp_client.py @@ -0,0 +1,307 @@ +# Copyright 2023 SentinelOne, 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. +# ------------------------------------------------------------------------ + +from __future__ import unicode_literals +from __future__ import absolute_import + +from typing import Any, Mapping, Optional, List + +import six.moves.http_client + +from scalyr_agent.__scalyr__ import SCALYR_VERSION +from scalyr_agent.client_auth import ClientAuth + +from scalyr_agent.connection import ConnectionFactory + +__author__ = "anthonyj@sentinelone.com" + +from opentelemetry.proto.logs.v1.logs_pb2 import ScopeLogs, LogsData, LogRecord, ResourceLogs +from opentelemetry.proto.common.v1.common_pb2 import AnyValue as PB2AnyValue +from opentelemetry.proto.common.v1.common_pb2 import KeyValue as PB2KeyValue +from opentelemetry.proto.common.v1.common_pb2 import ( + KeyValueList as PB2KeyValueList, +) +from opentelemetry.proto.common.v1.common_pb2 import ( + ArrayValue as PB2ArrayValue, +) +from urllib3.util import parse_url +from timeit import default_timer as timer + +import scalyr_agent.scalyr_logging as scalyr_logging +import scalyr_agent.util as scalyr_util +from scalyr_agent.scalyr_client import AddEventsRequest +log = scalyr_logging.getLogger(__name__) + +OTLP_LOGS_PATH = "/v1/logs" + +log = scalyr_logging.getLogger(__name__) + +# OTLP Protobuf Helpers +def _encode_value(value: Any) -> PB2AnyValue: + if isinstance(value, bool): + return PB2AnyValue(bool_value=value) + if isinstance(value, str): + return PB2AnyValue(string_value=value) + if isinstance(value, int): + return PB2AnyValue(int_value=value) + if isinstance(value, float): + return PB2AnyValue(double_value=value) + if isinstance(value, Sequence): + return PB2AnyValue( + array_value=PB2ArrayValue(values=[_encode_value(v) for v in value]) + ) + elif isinstance(value, Mapping): + return PB2AnyValue( + kvlist_value=PB2KeyValueList( + values=[_encode_key_value(str(k), v) for k, v in value.items()] + ) + ) + raise Exception(f"Invalid type {type(value)} of value {value}") + + +def _encode_key_value(key: str, value: Any) -> PB2KeyValue: + return PB2KeyValue(key=key, value=_encode_value(value)) + +def _encode_attributes(attributes, log_attrs, session_info) -> Optional[List[PB2KeyValue]]: + attrs_to_send = {} + if attributes: + attrs_to_send.update(attributes) + if session_info: + attrs_to_send.update(session_info) + if log_attrs: + attrs_to_send.update(log_attrs) + pb2_attributes = [] + for key, value in attrs_to_send.items(): + pb2_attributes.append(_encode_key_value(key, value)) + return pb2_attributes + + +# This client is able to communicate payloads via OTLP HTTP protocol. +# Limitations +# +# - We likely have some conditions where events would be lost. +# - Most Statistics and Timing data are not implemented. +def create_otlp_client(config, worker_config, server_url=None): + """Creates and returns a new OTLP client to an OpenTelemetry Collector. + @param quiet: If true, only errors should be written to stdout. + @param config: The agent configuration object used for dynamically loading up auth patterns + @param server_url: The URL to the OTLP server. If None, use default scalyr_server value from config""" + su = server_url + if server_url is None: + su = config.server_url + if "server_url" in worker_config: + su = worker_config["server_url"] + log.setLevel(config.debug_level) + return OTLPClientSession(config, worker_config, su) + +class ScalyrClientSessionStatus(object): + def __init__(self): + self.total_requests_sent = None + self.total_requests_failed = None + self.total_request_bytes_sent = None + self.total_compressed_request_bytes_sent = None + self.total_response_bytes_received = None + self.total_request_latency_secs = None + self.total_connections_created = None + self.total_compression_time = None + + +class OTLPClientSession(object): + def __init__(self, configuration, worker_config, server_url): + parsed_url = parse_url(server_url + OTLP_LOGS_PATH) + self.address = parsed_url.scheme + "://" + parsed_url.hostname + # Append Explicit Port + if parsed_url.port is not None: + self.address += ":" + str(parsed_url.port) + log.info("OTLP Endpoint: %s" %(self.address)) + self.logs_path = parsed_url.path + log.info("OTLP API Logs Path: %s" % (self.logs_path)) + self.__ca_file = str(configuration.ca_cert_path) + self.__request_deadline = 60.0 + self.__intermediate_certs_file = str(configuration.intermediate_certs_path) + self.__use_requests = True + + self.headers = { + "Connection": "Keep-Alive", + "Accept": "application/json, application/x-protobuf", + "Content-Type": "application/x-protobuf", + "User-Agent": scalyr_util.get_user_agent( + SCALYR_VERSION, True + ), + } + self.__connection = None + self.__quiet = False + self.__proxies = configuration.network_proxies + self.total_requests_sent = 0 + self.total_requests_failed = 0 + self.total_request_bytes_sent = 0 + self.pending_request_bytes_sent = 0 + self.total_connections_created = 0 + self.total_request_latency = 0 + self.configuration = configuration + self.auth = ClientAuth(self.configuration, self.headers) + self.exporter = None # ScalyrOTLPLogExporter(server_url, headers=self.headers) + schedule_delay_millis = configuration.min_request_spacing_interval * 1000 + if schedule_delay_millis <= 0: + schedule_delay_millis = 1000 + + def ensure_auth_session(self): + return self.auth.authenticate() + + def generate_status(self): + result = ScalyrClientSessionStatus() + result.total_requests_sent = self.total_requests_sent + result.total_requests_failed = self.total_requests_failed + result.total_request_bytes_sent = self.total_request_bytes_sent + result.total_compressed_request_bytes_sent = 0 + result.total_response_bytes_received = 0 + result.total_request_latency_secs = self.total_request_latency + result.total_connections_created = self.total_connections_created + result.total_compression_time = 0 + return result + + def close(self): + pass + + def add_events_request(self, session_info=None, max_size=1 * 1024 * 1024 * 1024): + return OTLPAddEventsRequest(session_info, max_size) + + def send(self, add_events_request, block_on_response=True): + try: + if self.__connection is None: + self.__connection = ConnectionFactory.connection( + self.address, + self.__request_deadline, + self.__ca_file, + self.__intermediate_certs_file, + self.headers, + self.__use_requests, + quiet=self.__quiet, + proxies=self.__proxies, + ) + self.total_connections_created += 1 + except Exception as e: + error_code = ( + getattr(e, "error_code", "client/connectionFailed") + or "client/connectionFailed" + ) + return scalyr_util.wrap_response_if_necessary( + error_code, 0, "", block_on_response + ) + self.ensure_auth_session() + log.log(scalyr_logging.DEBUG_LEVEL_1, "Request Headers: %s" %(self.headers)) + request_body=self.__generate_body(add_events_request) + start = timer() + self.__connection.post(self.logs_path, request_body) + end = timer() + self.total_request_latency += end - start + if self.__connection.status_code() == 200: + self.total_requests_sent+=1 + self.total_request_bytes_sent+=len(request_body) + else: + self.total_requests_failed+=1 + return scalyr_util.wrap_response_if_necessary("success", 0, "success", block_on_response) + + def augment_user_agent(self, fragments): + """Modifies User-Agent header (applies to all data sent to Scalyr) + + @param fragments String fragments to append (in order) to the standard user agent data + @type fragments: List of six.text_type + """ + self.headers["User-Agent"] = scalyr_util.get_user_agent( + SCALYR_VERSION, True, fragments + ) + + def __generate_body(self, add_events_request): + rl = ResourceLogs() + sl = ScopeLogs() + for event in add_events_request.events: + log_record = self.__event_to_log_record(add_events_request, event) + sl.log_records.append(log_record) + rl.scope_logs.append(sl) + return LogsData(resource_logs=[rl]).SerializeToString() + + def __event_to_log_record(self, add_events_request, event): + event.attrs.update(add_events_request.log_attrs) + return LogRecord(time_unix_nano=event.timestamp, + body=PB2AnyValue(string_value=event.message), + attributes=_encode_attributes(event.attrs, add_events_request.log_attrs, add_events_request.session_info)) + +class OTLPResponse(object): + def __init__(self, result): + self.result = result + def get_response(self): + result = "success" if self.result else "failure" + return (result, 0, result) + +class OTLPAddEventsRequest(object): + def __init__(self, session_info, max_size): + self.session_info = session_info + self.max_size = max_size + self.current_size = 0 + self.total_events = 0 + self.thread_id = None + self.thread_name = None + self.log_attrs = None + self.events = [] + self.__receive_response_status = None + + def set_events_size(self, total_events, size): + self.current_size = size + self.total_events = total_events + + def position(self): + return AddEventsRequest.Position( + self.total_events, self.current_size, 0 + ) + + def set_position(self, position): + pass + + def add_log_and_thread(self, thread_id, thread_name, log_attrs): + self.thread_id = thread_id + self.thread_name = thread_name + self.log_attrs = log_attrs + return True + + def add_event(self, event, timestamp=None, sequence_id=None, sequence_number=None): + self.current_size += len(event.message) + self.total_events += 1 + self.events.append(event) + return True + + def num_events(self): + self.current_size + + def set_client_time(self, current_time): + pass + + def get_payload(self): + pass + + def close(self): + pass + + def get_timing_data(self): + pass + + def total_events(self): + return self.total_events() + + def increment_timing_data(self, **key_values): + pass + + def get_timing_data(self): + return "Timing Data Not Available" diff --git a/scalyr_agent/scalyr_client.py b/scalyr_agent/scalyr_client.py index a5d9ed98ab..c28a7357f5 100644 --- a/scalyr_agent/scalyr_client.py +++ b/scalyr_agent/scalyr_client.py @@ -30,14 +30,11 @@ import platform import re import socket -import sys import time import io -import ssl import os import six -from six.moves import map from six.moves import range import six.moves.http_client @@ -302,8 +299,8 @@ def __init__( self.__standard_headers = { "Connection": "Keep-Alive", "Accept": "application/json", - "User-Agent": self.__get_user_agent( - agent_version, sessions_api_keys_tuple=sessions_api_keys_tuple + "User-Agent": scalyr_util.get_user_agent( + agent_version, use_requests_lib, sessions_api_keys_tuple=sessions_api_keys_tuple ), } @@ -392,8 +389,8 @@ def augment_user_agent(self, fragments): @param fragments String fragments to append (in order) to the standard user agent data @type fragments: List of six.text_type """ - self.__standard_headers["User-Agent"] = self.__get_user_agent( - self.__agent_version, fragments + self.__standard_headers["User-Agent"] = scalyr_util.get_user_agent( + self.__agent_version, self.__use_requests, fragments ) @property @@ -451,7 +448,7 @@ def __send_request( self.__last_connection_close is not None and current_time - self.__last_connection_close < 30 ): - return self.__wrap_response_if_necessary( + return scalyr_util.wrap_response_if_necessary( "client/connectionClosed", 0, "", block_on_response ) @@ -478,7 +475,7 @@ def __send_request( getattr(e, "error_code", "client/connectionFailed") or "client/connectionFailed" ) - return self.__wrap_response_if_necessary( + return scalyr_util.wrap_response_if_necessary( error_code, 0, "", block_on_response ) @@ -591,7 +588,7 @@ def __send_request( "Failed to send request due to exception. Closing connection, will re-attempt", error_code="requestFailed", ) - return self.__wrap_response_if_necessary( + return scalyr_util.wrap_response_if_necessary( "requestFailed", len(body_str), "", block_on_response ) @@ -763,43 +760,6 @@ def __receive_response(self, body_str, send_time): self.close(current_time=send_time) self.total_response_bytes_received += bytes_received - def __wrap_response_if_necessary( - self, status_message, bytes_sent, response, block_on_response - ): - """Wraps the response as appropriate based on whether or not the caller is expecting to block on the - response or not. - - If the caller requested to not block on the response, then they are expecting a function to be returned - that, when invoked, will block and return the result. If the caller did requested to block on the response, - then the response should be returned directly. - - This is used to cover cases where there was an error and we do not have to block on the response from - the server. Instead, we already have the response to return. However, we still need to return the - right type of object to the caller. - - @param status_message: The status message for the response. - @param bytes_sent: The number of bytes that were sent. - @param response: The response to return. - @param block_on_response: Whether or not the caller requested to block, waiting for the response. This controls - whether or not a function is returned or just the response tuple directly. - - @type status_message: str - @type bytes_sent: int - @type response: str - @type block_on_response: bool - - @return: Either a func or a response tuple (status message, num of bytes sent, response body) depending on - the value of ``block_on_response``. - @rtype: func or (str, int, str) - """ - if block_on_response: - return status_message, bytes_sent, response - - def wrap(): - return status_message, bytes_sent, response - - return wrap - def send(self, add_events_request, block_on_response=True): """Sends an AddEventsRequest to Scalyr. @@ -878,151 +838,6 @@ def add_events_request(self, session_info=None, max_size=1 * 1024 * 1024 * 1024) enforce_monotonic_timestamps=self.__enforce_monotonic_timestamps, ) - def __get_user_agent( - self, agent_version, fragments=None, sessions_api_keys_tuple=None - ): - """Determine the user agent to report in the request headers. - - We construct an agent that gives Scalyr some information about the platform the customer is running on, - the Python version, and a few other tidbits. This is used to make decisions about support issues. - - @param agent_version: The agent version number. - @param fragments: Additional strings to be appended. Each will be preceded by a semicolon - @type agent_version: six.text_type - @type fragments: List of six.text_type - - @return: The user agent string. - @rtype: six.text_type - """ - # We will construct our agent string to look something like: - # Linux-redhat-7.0;python-2.7.2;agent-2.0.1;ssllib - # And for requests using requests library: - # Linux-redhat-7.0;python-2.7.2;agent-2.0.1;ssllib;requests-2.22.0 - - python_version = sys.version_info - if len(python_version) >= 5: - python_version_str = "python-%s.%s.%s" % ( - python_version[0], - python_version[1], - python_version[2], - ) - else: - python_version_str = "python-unknown" - - # Try for a linux distribution first. This doesn't seem to work for Amazon AMIs, but for most - # distributions it hopefully will provide something readable. - platform_value = None - # noinspection PyBroadException - try: - distribution = platform.dist() # pylint: disable=no-member - if len(distribution[0]) > 0: - platform_value = "Linux-%s-%s" % (distribution[0], distribution[1]) - except Exception: - platform_value = None - - # Try Mac - if platform_value is None: - # noinspection PyBroadException - try: - mac_ver = platform.mac_ver()[0] - if len(mac_ver) > 0: - platform_value = "MacOS-%s" % mac_ver - except Exception: - platform_value = None - - # Fall back for all others. This should print out something reasonable for - # Windows. - if platform_value is None: - platform_value = platform.platform(terse=1) - - # Include openssl version if available - # Returns a tuple like this: (1, 1, 1, 8, 15) - openssl_version = getattr(ssl, "OPENSSL_VERSION_INFO", None) - if openssl_version: - try: - openssl_version_string = ( - ".".join([str(v) for v in openssl_version[:3]]) - + "-" - + str(openssl_version[3]) - ) - openssl_version_string = "o-%s" % (openssl_version_string) - except Exception: - openssl_version_string = None - else: - openssl_version_string = None - - # Include a string which indicates if the agent is running admin / root user - from scalyr_agent.platform_controller import PlatformController - - try: - platform_controller = PlatformController.new_platform() - current_user = platform_controller.get_current_user() - except Exception: - # In some tests on Windows this can throw inside the tests so we ignore the error - current_user = "unknown" - - if current_user in ["root", "Administrator"] or current_user.endswith( - "\\Administrators" - ): - # Indicates agent running as a privileged / admin user - user_string = "a-1" - else: - # Indicates agent running as a regular user - user_string = "a-0" - - sharded_copy_manager_string = "" - - # Possible values for this header fragment: - # mw-0 - Sharded copy manager functionality is disabled - # mw-1|| - Functionality is enabled and there are - # thread based sessions configured with unique API keys. - # mw-2|| - Functionality is enabled and there are - # process based sessions configured with unique API keys. - if ( - sessions_api_keys_tuple - and isinstance(sessions_api_keys_tuple, tuple) - and len(sessions_api_keys_tuple) == 3 - and sessions_api_keys_tuple[1] > 1 - ): - ( - worker_type, - workers_count, - api_keys_count, - ) = sessions_api_keys_tuple - - if worker_type == "multiprocess": - sharded_copy_manager_string = "mw-2|" - else: - sharded_copy_manager_string = "mw-1|" - - sharded_copy_manager_string += "%s|%s" % (workers_count, api_keys_count) - else: - sharded_copy_manager_string = "mw-0" - - parts = [ - platform_value, - python_version_str, - "agent-%s" % agent_version, - ] - - if openssl_version_string: - parts.append(openssl_version_string) - - if user_string: - parts.append(user_string) - - if sharded_copy_manager_string: - parts.append(sharded_copy_manager_string) - - if self.__use_requests: - import requests - - parts.append("requests-%s" % (requests.__version__)) - - if fragments: - parts.extend(fragments) - return ";".join(map(six.text_type, parts)) - def perform_agent_version_check(self, track="stable"): """Query the Scalyr API to determine if a newer version is available""" url_path = ( diff --git a/scalyr_agent/third_party/opentelemetry/__init__.py b/scalyr_agent/third_party/opentelemetry/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/__init__.py b/scalyr_agent/third_party/opentelemetry/proto/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/collector/__init__.py b/scalyr_agent/third_party/opentelemetry/proto/collector/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/collector/logs/__init__.py b/scalyr_agent/third_party/opentelemetry/proto/collector/logs/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/collector/logs/v1/__init__.py b/scalyr_agent/third_party/opentelemetry/proto/collector/logs/v1/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/collector/logs/v1/logs_service_pb2.py b/scalyr_agent/third_party/opentelemetry/proto/collector/logs/v1/logs_service_pb2.py new file mode 100644 index 0000000000..d8b312981c --- /dev/null +++ b/scalyr_agent/third_party/opentelemetry/proto/collector/logs/v1/logs_service_pb2.py @@ -0,0 +1,188 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: opentelemetry/proto/collector/logs/v1/logs_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from opentelemetry.proto.logs.v1 import logs_pb2 as opentelemetry_dot_proto_dot_logs_dot_v1_dot_logs__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='opentelemetry/proto/collector/logs/v1/logs_service.proto', + package='opentelemetry.proto.collector.logs.v1', + syntax='proto3', + serialized_options=b'\n(io.opentelemetry.proto.collector.logs.v1B\020LogsServiceProtoP\001Z0go.opentelemetry.io/proto/otlp/collector/logs/v1\252\002%OpenTelemetry.Proto.Collector.Logs.V1', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n8opentelemetry/proto/collector/logs/v1/logs_service.proto\x12%opentelemetry.proto.collector.logs.v1\x1a&opentelemetry/proto/logs/v1/logs.proto\"\\\n\x18\x45xportLogsServiceRequest\x12@\n\rresource_logs\x18\x01 \x03(\x0b\x32).opentelemetry.proto.logs.v1.ResourceLogs\"u\n\x19\x45xportLogsServiceResponse\x12X\n\x0fpartial_success\x18\x01 \x01(\x0b\x32?.opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess\"O\n\x18\x45xportLogsPartialSuccess\x12\x1c\n\x14rejected_log_records\x18\x01 \x01(\x03\x12\x15\n\rerror_message\x18\x02 \x01(\t2\x9d\x01\n\x0bLogsService\x12\x8d\x01\n\x06\x45xport\x12?.opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest\x1a@.opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse\"\x00\x42\x98\x01\n(io.opentelemetry.proto.collector.logs.v1B\x10LogsServiceProtoP\x01Z0go.opentelemetry.io/proto/otlp/collector/logs/v1\xaa\x02%OpenTelemetry.Proto.Collector.Logs.V1b\x06proto3' + , + dependencies=[opentelemetry_dot_proto_dot_logs_dot_v1_dot_logs__pb2.DESCRIPTOR,]) + + + + +_EXPORTLOGSSERVICEREQUEST = _descriptor.Descriptor( + name='ExportLogsServiceRequest', + full_name='opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='resource_logs', full_name='opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest.resource_logs', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=139, + serialized_end=231, +) + + +_EXPORTLOGSSERVICERESPONSE = _descriptor.Descriptor( + name='ExportLogsServiceResponse', + full_name='opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='partial_success', full_name='opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse.partial_success', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=233, + serialized_end=350, +) + + +_EXPORTLOGSPARTIALSUCCESS = _descriptor.Descriptor( + name='ExportLogsPartialSuccess', + full_name='opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='rejected_log_records', full_name='opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess.rejected_log_records', index=0, + number=1, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='error_message', full_name='opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess.error_message', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=352, + serialized_end=431, +) + +_EXPORTLOGSSERVICEREQUEST.fields_by_name['resource_logs'].message_type = opentelemetry_dot_proto_dot_logs_dot_v1_dot_logs__pb2._RESOURCELOGS +_EXPORTLOGSSERVICERESPONSE.fields_by_name['partial_success'].message_type = _EXPORTLOGSPARTIALSUCCESS +DESCRIPTOR.message_types_by_name['ExportLogsServiceRequest'] = _EXPORTLOGSSERVICEREQUEST +DESCRIPTOR.message_types_by_name['ExportLogsServiceResponse'] = _EXPORTLOGSSERVICERESPONSE +DESCRIPTOR.message_types_by_name['ExportLogsPartialSuccess'] = _EXPORTLOGSPARTIALSUCCESS +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +ExportLogsServiceRequest = _reflection.GeneratedProtocolMessageType('ExportLogsServiceRequest', (_message.Message,), { + 'DESCRIPTOR' : _EXPORTLOGSSERVICEREQUEST, + '__module__' : 'opentelemetry.proto.collector.logs.v1.logs_service_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.collector.logs.v1.ExportLogsServiceRequest) + }) +_sym_db.RegisterMessage(ExportLogsServiceRequest) + +ExportLogsServiceResponse = _reflection.GeneratedProtocolMessageType('ExportLogsServiceResponse', (_message.Message,), { + 'DESCRIPTOR' : _EXPORTLOGSSERVICERESPONSE, + '__module__' : 'opentelemetry.proto.collector.logs.v1.logs_service_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.collector.logs.v1.ExportLogsServiceResponse) + }) +_sym_db.RegisterMessage(ExportLogsServiceResponse) + +ExportLogsPartialSuccess = _reflection.GeneratedProtocolMessageType('ExportLogsPartialSuccess', (_message.Message,), { + 'DESCRIPTOR' : _EXPORTLOGSPARTIALSUCCESS, + '__module__' : 'opentelemetry.proto.collector.logs.v1.logs_service_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.collector.logs.v1.ExportLogsPartialSuccess) + }) +_sym_db.RegisterMessage(ExportLogsPartialSuccess) + + +DESCRIPTOR._options = None + +_LOGSSERVICE = _descriptor.ServiceDescriptor( + name='LogsService', + full_name='opentelemetry.proto.collector.logs.v1.LogsService', + file=DESCRIPTOR, + index=0, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=434, + serialized_end=591, + methods=[ + _descriptor.MethodDescriptor( + name='Export', + full_name='opentelemetry.proto.collector.logs.v1.LogsService.Export', + index=0, + containing_service=None, + input_type=_EXPORTLOGSSERVICEREQUEST, + output_type=_EXPORTLOGSSERVICERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_LOGSSERVICE) + +DESCRIPTOR.services_by_name['LogsService'] = _LOGSSERVICE + +# @@protoc_insertion_point(module_scope) diff --git a/scalyr_agent/third_party/opentelemetry/proto/collector/logs/v1/logs_service_pb2_grpc.py b/scalyr_agent/third_party/opentelemetry/proto/collector/logs/v1/logs_service_pb2_grpc.py new file mode 100644 index 0000000000..4d55e57778 --- /dev/null +++ b/scalyr_agent/third_party/opentelemetry/proto/collector/logs/v1/logs_service_pb2_grpc.py @@ -0,0 +1,77 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from opentelemetry.proto.collector.logs.v1 import logs_service_pb2 as opentelemetry_dot_proto_dot_collector_dot_logs_dot_v1_dot_logs__service__pb2 + + +class LogsServiceStub(object): + """Service that can be used to push logs between one Application instrumented with + OpenTelemetry and an collector, or between an collector and a central collector (in this + case logs are sent/received to/from multiple Applications). + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Export = channel.unary_unary( + '/opentelemetry.proto.collector.logs.v1.LogsService/Export', + request_serializer=opentelemetry_dot_proto_dot_collector_dot_logs_dot_v1_dot_logs__service__pb2.ExportLogsServiceRequest.SerializeToString, + response_deserializer=opentelemetry_dot_proto_dot_collector_dot_logs_dot_v1_dot_logs__service__pb2.ExportLogsServiceResponse.FromString, + ) + + +class LogsServiceServicer(object): + """Service that can be used to push logs between one Application instrumented with + OpenTelemetry and an collector, or between an collector and a central collector (in this + case logs are sent/received to/from multiple Applications). + """ + + def Export(self, request, context): + """For performance reasons, it is recommended to keep this RPC + alive for the entire life of the application. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_LogsServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Export': grpc.unary_unary_rpc_method_handler( + servicer.Export, + request_deserializer=opentelemetry_dot_proto_dot_collector_dot_logs_dot_v1_dot_logs__service__pb2.ExportLogsServiceRequest.FromString, + response_serializer=opentelemetry_dot_proto_dot_collector_dot_logs_dot_v1_dot_logs__service__pb2.ExportLogsServiceResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'opentelemetry.proto.collector.logs.v1.LogsService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class LogsService(object): + """Service that can be used to push logs between one Application instrumented with + OpenTelemetry and an collector, or between an collector and a central collector (in this + case logs are sent/received to/from multiple Applications). + """ + + @staticmethod + def Export(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/opentelemetry.proto.collector.logs.v1.LogsService/Export', + opentelemetry_dot_proto_dot_collector_dot_logs_dot_v1_dot_logs__service__pb2.ExportLogsServiceRequest.SerializeToString, + opentelemetry_dot_proto_dot_collector_dot_logs_dot_v1_dot_logs__service__pb2.ExportLogsServiceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/scalyr_agent/third_party/opentelemetry/proto/collector/metrics/__init__.py b/scalyr_agent/third_party/opentelemetry/proto/collector/metrics/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/collector/metrics/v1/__init__.py b/scalyr_agent/third_party/opentelemetry/proto/collector/metrics/v1/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/collector/metrics/v1/metrics_service_pb2.py b/scalyr_agent/third_party/opentelemetry/proto/collector/metrics/v1/metrics_service_pb2.py new file mode 100644 index 0000000000..2283b5fd3b --- /dev/null +++ b/scalyr_agent/third_party/opentelemetry/proto/collector/metrics/v1/metrics_service_pb2.py @@ -0,0 +1,188 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: opentelemetry/proto/collector/metrics/v1/metrics_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from opentelemetry.proto.metrics.v1 import metrics_pb2 as opentelemetry_dot_proto_dot_metrics_dot_v1_dot_metrics__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='opentelemetry/proto/collector/metrics/v1/metrics_service.proto', + package='opentelemetry.proto.collector.metrics.v1', + syntax='proto3', + serialized_options=b'\n+io.opentelemetry.proto.collector.metrics.v1B\023MetricsServiceProtoP\001Z3go.opentelemetry.io/proto/otlp/collector/metrics/v1\252\002(OpenTelemetry.Proto.Collector.Metrics.V1', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n>opentelemetry/proto/collector/metrics/v1/metrics_service.proto\x12(opentelemetry.proto.collector.metrics.v1\x1a,opentelemetry/proto/metrics/v1/metrics.proto\"h\n\x1b\x45xportMetricsServiceRequest\x12I\n\x10resource_metrics\x18\x01 \x03(\x0b\x32/.opentelemetry.proto.metrics.v1.ResourceMetrics\"~\n\x1c\x45xportMetricsServiceResponse\x12^\n\x0fpartial_success\x18\x01 \x01(\x0b\x32\x45.opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess\"R\n\x1b\x45xportMetricsPartialSuccess\x12\x1c\n\x14rejected_data_points\x18\x01 \x01(\x03\x12\x15\n\rerror_message\x18\x02 \x01(\t2\xac\x01\n\x0eMetricsService\x12\x99\x01\n\x06\x45xport\x12\x45.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest\x1a\x46.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse\"\x00\x42\xa4\x01\n+io.opentelemetry.proto.collector.metrics.v1B\x13MetricsServiceProtoP\x01Z3go.opentelemetry.io/proto/otlp/collector/metrics/v1\xaa\x02(OpenTelemetry.Proto.Collector.Metrics.V1b\x06proto3' + , + dependencies=[opentelemetry_dot_proto_dot_metrics_dot_v1_dot_metrics__pb2.DESCRIPTOR,]) + + + + +_EXPORTMETRICSSERVICEREQUEST = _descriptor.Descriptor( + name='ExportMetricsServiceRequest', + full_name='opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='resource_metrics', full_name='opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest.resource_metrics', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=154, + serialized_end=258, +) + + +_EXPORTMETRICSSERVICERESPONSE = _descriptor.Descriptor( + name='ExportMetricsServiceResponse', + full_name='opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='partial_success', full_name='opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse.partial_success', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=260, + serialized_end=386, +) + + +_EXPORTMETRICSPARTIALSUCCESS = _descriptor.Descriptor( + name='ExportMetricsPartialSuccess', + full_name='opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='rejected_data_points', full_name='opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess.rejected_data_points', index=0, + number=1, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='error_message', full_name='opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess.error_message', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=388, + serialized_end=470, +) + +_EXPORTMETRICSSERVICEREQUEST.fields_by_name['resource_metrics'].message_type = opentelemetry_dot_proto_dot_metrics_dot_v1_dot_metrics__pb2._RESOURCEMETRICS +_EXPORTMETRICSSERVICERESPONSE.fields_by_name['partial_success'].message_type = _EXPORTMETRICSPARTIALSUCCESS +DESCRIPTOR.message_types_by_name['ExportMetricsServiceRequest'] = _EXPORTMETRICSSERVICEREQUEST +DESCRIPTOR.message_types_by_name['ExportMetricsServiceResponse'] = _EXPORTMETRICSSERVICERESPONSE +DESCRIPTOR.message_types_by_name['ExportMetricsPartialSuccess'] = _EXPORTMETRICSPARTIALSUCCESS +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +ExportMetricsServiceRequest = _reflection.GeneratedProtocolMessageType('ExportMetricsServiceRequest', (_message.Message,), { + 'DESCRIPTOR' : _EXPORTMETRICSSERVICEREQUEST, + '__module__' : 'opentelemetry.proto.collector.metrics.v1.metrics_service_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest) + }) +_sym_db.RegisterMessage(ExportMetricsServiceRequest) + +ExportMetricsServiceResponse = _reflection.GeneratedProtocolMessageType('ExportMetricsServiceResponse', (_message.Message,), { + 'DESCRIPTOR' : _EXPORTMETRICSSERVICERESPONSE, + '__module__' : 'opentelemetry.proto.collector.metrics.v1.metrics_service_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceResponse) + }) +_sym_db.RegisterMessage(ExportMetricsServiceResponse) + +ExportMetricsPartialSuccess = _reflection.GeneratedProtocolMessageType('ExportMetricsPartialSuccess', (_message.Message,), { + 'DESCRIPTOR' : _EXPORTMETRICSPARTIALSUCCESS, + '__module__' : 'opentelemetry.proto.collector.metrics.v1.metrics_service_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.collector.metrics.v1.ExportMetricsPartialSuccess) + }) +_sym_db.RegisterMessage(ExportMetricsPartialSuccess) + + +DESCRIPTOR._options = None + +_METRICSSERVICE = _descriptor.ServiceDescriptor( + name='MetricsService', + full_name='opentelemetry.proto.collector.metrics.v1.MetricsService', + file=DESCRIPTOR, + index=0, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=473, + serialized_end=645, + methods=[ + _descriptor.MethodDescriptor( + name='Export', + full_name='opentelemetry.proto.collector.metrics.v1.MetricsService.Export', + index=0, + containing_service=None, + input_type=_EXPORTMETRICSSERVICEREQUEST, + output_type=_EXPORTMETRICSSERVICERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_METRICSSERVICE) + +DESCRIPTOR.services_by_name['MetricsService'] = _METRICSSERVICE + +# @@protoc_insertion_point(module_scope) diff --git a/scalyr_agent/third_party/opentelemetry/proto/collector/metrics/v1/metrics_service_pb2_grpc.py b/scalyr_agent/third_party/opentelemetry/proto/collector/metrics/v1/metrics_service_pb2_grpc.py new file mode 100644 index 0000000000..c181c44641 --- /dev/null +++ b/scalyr_agent/third_party/opentelemetry/proto/collector/metrics/v1/metrics_service_pb2_grpc.py @@ -0,0 +1,77 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from opentelemetry.proto.collector.metrics.v1 import metrics_service_pb2 as opentelemetry_dot_proto_dot_collector_dot_metrics_dot_v1_dot_metrics__service__pb2 + + +class MetricsServiceStub(object): + """Service that can be used to push metrics between one Application + instrumented with OpenTelemetry and a collector, or between a collector and a + central collector. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Export = channel.unary_unary( + '/opentelemetry.proto.collector.metrics.v1.MetricsService/Export', + request_serializer=opentelemetry_dot_proto_dot_collector_dot_metrics_dot_v1_dot_metrics__service__pb2.ExportMetricsServiceRequest.SerializeToString, + response_deserializer=opentelemetry_dot_proto_dot_collector_dot_metrics_dot_v1_dot_metrics__service__pb2.ExportMetricsServiceResponse.FromString, + ) + + +class MetricsServiceServicer(object): + """Service that can be used to push metrics between one Application + instrumented with OpenTelemetry and a collector, or between a collector and a + central collector. + """ + + def Export(self, request, context): + """For performance reasons, it is recommended to keep this RPC + alive for the entire life of the application. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_MetricsServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Export': grpc.unary_unary_rpc_method_handler( + servicer.Export, + request_deserializer=opentelemetry_dot_proto_dot_collector_dot_metrics_dot_v1_dot_metrics__service__pb2.ExportMetricsServiceRequest.FromString, + response_serializer=opentelemetry_dot_proto_dot_collector_dot_metrics_dot_v1_dot_metrics__service__pb2.ExportMetricsServiceResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'opentelemetry.proto.collector.metrics.v1.MetricsService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class MetricsService(object): + """Service that can be used to push metrics between one Application + instrumented with OpenTelemetry and a collector, or between a collector and a + central collector. + """ + + @staticmethod + def Export(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/opentelemetry.proto.collector.metrics.v1.MetricsService/Export', + opentelemetry_dot_proto_dot_collector_dot_metrics_dot_v1_dot_metrics__service__pb2.ExportMetricsServiceRequest.SerializeToString, + opentelemetry_dot_proto_dot_collector_dot_metrics_dot_v1_dot_metrics__service__pb2.ExportMetricsServiceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/scalyr_agent/third_party/opentelemetry/proto/collector/trace/__init__.py b/scalyr_agent/third_party/opentelemetry/proto/collector/trace/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/collector/trace/v1/__init__.py b/scalyr_agent/third_party/opentelemetry/proto/collector/trace/v1/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/collector/trace/v1/trace_service_pb2.py b/scalyr_agent/third_party/opentelemetry/proto/collector/trace/v1/trace_service_pb2.py new file mode 100644 index 0000000000..810d7951d1 --- /dev/null +++ b/scalyr_agent/third_party/opentelemetry/proto/collector/trace/v1/trace_service_pb2.py @@ -0,0 +1,188 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: opentelemetry/proto/collector/trace/v1/trace_service.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from opentelemetry.proto.trace.v1 import trace_pb2 as opentelemetry_dot_proto_dot_trace_dot_v1_dot_trace__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='opentelemetry/proto/collector/trace/v1/trace_service.proto', + package='opentelemetry.proto.collector.trace.v1', + syntax='proto3', + serialized_options=b'\n)io.opentelemetry.proto.collector.trace.v1B\021TraceServiceProtoP\001Z1go.opentelemetry.io/proto/otlp/collector/trace/v1\252\002&OpenTelemetry.Proto.Collector.Trace.V1', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n:opentelemetry/proto/collector/trace/v1/trace_service.proto\x12&opentelemetry.proto.collector.trace.v1\x1a(opentelemetry/proto/trace/v1/trace.proto\"`\n\x19\x45xportTraceServiceRequest\x12\x43\n\x0eresource_spans\x18\x01 \x03(\x0b\x32+.opentelemetry.proto.trace.v1.ResourceSpans\"x\n\x1a\x45xportTraceServiceResponse\x12Z\n\x0fpartial_success\x18\x01 \x01(\x0b\x32\x41.opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess\"J\n\x19\x45xportTracePartialSuccess\x12\x16\n\x0erejected_spans\x18\x01 \x01(\x03\x12\x15\n\rerror_message\x18\x02 \x01(\t2\xa2\x01\n\x0cTraceService\x12\x91\x01\n\x06\x45xport\x12\x41.opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest\x1a\x42.opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse\"\x00\x42\x9c\x01\n)io.opentelemetry.proto.collector.trace.v1B\x11TraceServiceProtoP\x01Z1go.opentelemetry.io/proto/otlp/collector/trace/v1\xaa\x02&OpenTelemetry.Proto.Collector.Trace.V1b\x06proto3' + , + dependencies=[opentelemetry_dot_proto_dot_trace_dot_v1_dot_trace__pb2.DESCRIPTOR,]) + + + + +_EXPORTTRACESERVICEREQUEST = _descriptor.Descriptor( + name='ExportTraceServiceRequest', + full_name='opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='resource_spans', full_name='opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest.resource_spans', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=144, + serialized_end=240, +) + + +_EXPORTTRACESERVICERESPONSE = _descriptor.Descriptor( + name='ExportTraceServiceResponse', + full_name='opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='partial_success', full_name='opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse.partial_success', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=242, + serialized_end=362, +) + + +_EXPORTTRACEPARTIALSUCCESS = _descriptor.Descriptor( + name='ExportTracePartialSuccess', + full_name='opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='rejected_spans', full_name='opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess.rejected_spans', index=0, + number=1, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='error_message', full_name='opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess.error_message', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=364, + serialized_end=438, +) + +_EXPORTTRACESERVICEREQUEST.fields_by_name['resource_spans'].message_type = opentelemetry_dot_proto_dot_trace_dot_v1_dot_trace__pb2._RESOURCESPANS +_EXPORTTRACESERVICERESPONSE.fields_by_name['partial_success'].message_type = _EXPORTTRACEPARTIALSUCCESS +DESCRIPTOR.message_types_by_name['ExportTraceServiceRequest'] = _EXPORTTRACESERVICEREQUEST +DESCRIPTOR.message_types_by_name['ExportTraceServiceResponse'] = _EXPORTTRACESERVICERESPONSE +DESCRIPTOR.message_types_by_name['ExportTracePartialSuccess'] = _EXPORTTRACEPARTIALSUCCESS +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +ExportTraceServiceRequest = _reflection.GeneratedProtocolMessageType('ExportTraceServiceRequest', (_message.Message,), { + 'DESCRIPTOR' : _EXPORTTRACESERVICEREQUEST, + '__module__' : 'opentelemetry.proto.collector.trace.v1.trace_service_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.collector.trace.v1.ExportTraceServiceRequest) + }) +_sym_db.RegisterMessage(ExportTraceServiceRequest) + +ExportTraceServiceResponse = _reflection.GeneratedProtocolMessageType('ExportTraceServiceResponse', (_message.Message,), { + 'DESCRIPTOR' : _EXPORTTRACESERVICERESPONSE, + '__module__' : 'opentelemetry.proto.collector.trace.v1.trace_service_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.collector.trace.v1.ExportTraceServiceResponse) + }) +_sym_db.RegisterMessage(ExportTraceServiceResponse) + +ExportTracePartialSuccess = _reflection.GeneratedProtocolMessageType('ExportTracePartialSuccess', (_message.Message,), { + 'DESCRIPTOR' : _EXPORTTRACEPARTIALSUCCESS, + '__module__' : 'opentelemetry.proto.collector.trace.v1.trace_service_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.collector.trace.v1.ExportTracePartialSuccess) + }) +_sym_db.RegisterMessage(ExportTracePartialSuccess) + + +DESCRIPTOR._options = None + +_TRACESERVICE = _descriptor.ServiceDescriptor( + name='TraceService', + full_name='opentelemetry.proto.collector.trace.v1.TraceService', + file=DESCRIPTOR, + index=0, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=441, + serialized_end=603, + methods=[ + _descriptor.MethodDescriptor( + name='Export', + full_name='opentelemetry.proto.collector.trace.v1.TraceService.Export', + index=0, + containing_service=None, + input_type=_EXPORTTRACESERVICEREQUEST, + output_type=_EXPORTTRACESERVICERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_TRACESERVICE) + +DESCRIPTOR.services_by_name['TraceService'] = _TRACESERVICE + +# @@protoc_insertion_point(module_scope) diff --git a/scalyr_agent/third_party/opentelemetry/proto/collector/trace/v1/trace_service_pb2_grpc.py b/scalyr_agent/third_party/opentelemetry/proto/collector/trace/v1/trace_service_pb2_grpc.py new file mode 100644 index 0000000000..81dbbe59f3 --- /dev/null +++ b/scalyr_agent/third_party/opentelemetry/proto/collector/trace/v1/trace_service_pb2_grpc.py @@ -0,0 +1,77 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from opentelemetry.proto.collector.trace.v1 import trace_service_pb2 as opentelemetry_dot_proto_dot_collector_dot_trace_dot_v1_dot_trace__service__pb2 + + +class TraceServiceStub(object): + """Service that can be used to push spans between one Application instrumented with + OpenTelemetry and a collector, or between a collector and a central collector (in this + case spans are sent/received to/from multiple Applications). + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Export = channel.unary_unary( + '/opentelemetry.proto.collector.trace.v1.TraceService/Export', + request_serializer=opentelemetry_dot_proto_dot_collector_dot_trace_dot_v1_dot_trace__service__pb2.ExportTraceServiceRequest.SerializeToString, + response_deserializer=opentelemetry_dot_proto_dot_collector_dot_trace_dot_v1_dot_trace__service__pb2.ExportTraceServiceResponse.FromString, + ) + + +class TraceServiceServicer(object): + """Service that can be used to push spans between one Application instrumented with + OpenTelemetry and a collector, or between a collector and a central collector (in this + case spans are sent/received to/from multiple Applications). + """ + + def Export(self, request, context): + """For performance reasons, it is recommended to keep this RPC + alive for the entire life of the application. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_TraceServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Export': grpc.unary_unary_rpc_method_handler( + servicer.Export, + request_deserializer=opentelemetry_dot_proto_dot_collector_dot_trace_dot_v1_dot_trace__service__pb2.ExportTraceServiceRequest.FromString, + response_serializer=opentelemetry_dot_proto_dot_collector_dot_trace_dot_v1_dot_trace__service__pb2.ExportTraceServiceResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'opentelemetry.proto.collector.trace.v1.TraceService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class TraceService(object): + """Service that can be used to push spans between one Application instrumented with + OpenTelemetry and a collector, or between a collector and a central collector (in this + case spans are sent/received to/from multiple Applications). + """ + + @staticmethod + def Export(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/opentelemetry.proto.collector.trace.v1.TraceService/Export', + opentelemetry_dot_proto_dot_collector_dot_trace_dot_v1_dot_trace__service__pb2.ExportTraceServiceRequest.SerializeToString, + opentelemetry_dot_proto_dot_collector_dot_trace_dot_v1_dot_trace__service__pb2.ExportTraceServiceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/scalyr_agent/third_party/opentelemetry/proto/common/__init__.py b/scalyr_agent/third_party/opentelemetry/proto/common/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/common/v1/__init__.py b/scalyr_agent/third_party/opentelemetry/proto/common/v1/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/common/v1/common_pb2.py b/scalyr_agent/third_party/opentelemetry/proto/common/v1/common_pb2.py new file mode 100644 index 0000000000..3d92de9fd2 --- /dev/null +++ b/scalyr_agent/third_party/opentelemetry/proto/common/v1/common_pb2.py @@ -0,0 +1,333 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: opentelemetry/proto/common/v1/common.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='opentelemetry/proto/common/v1/common.proto', + package='opentelemetry.proto.common.v1', + syntax='proto3', + serialized_options=b'\n io.opentelemetry.proto.common.v1B\013CommonProtoP\001Z(go.opentelemetry.io/proto/otlp/common/v1\252\002\035OpenTelemetry.Proto.Common.V1', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n*opentelemetry/proto/common/v1/common.proto\x12\x1dopentelemetry.proto.common.v1\"\x8c\x02\n\x08\x41nyValue\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x03 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x04 \x01(\x01H\x00\x12@\n\x0b\x61rray_value\x18\x05 \x01(\x0b\x32).opentelemetry.proto.common.v1.ArrayValueH\x00\x12\x43\n\x0ckvlist_value\x18\x06 \x01(\x0b\x32+.opentelemetry.proto.common.v1.KeyValueListH\x00\x12\x15\n\x0b\x62ytes_value\x18\x07 \x01(\x0cH\x00\x42\x07\n\x05value\"E\n\nArrayValue\x12\x37\n\x06values\x18\x01 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.AnyValue\"G\n\x0cKeyValueList\x12\x37\n\x06values\x18\x01 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\"O\n\x08KeyValue\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.opentelemetry.proto.common.v1.AnyValue\"\x94\x01\n\x14InstrumentationScope\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12;\n\nattributes\x18\x03 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x04 \x01(\rB{\n io.opentelemetry.proto.common.v1B\x0b\x43ommonProtoP\x01Z(go.opentelemetry.io/proto/otlp/common/v1\xaa\x02\x1dOpenTelemetry.Proto.Common.V1b\x06proto3' +) + + + + +_ANYVALUE = _descriptor.Descriptor( + name='AnyValue', + full_name='opentelemetry.proto.common.v1.AnyValue', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='string_value', full_name='opentelemetry.proto.common.v1.AnyValue.string_value', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='bool_value', full_name='opentelemetry.proto.common.v1.AnyValue.bool_value', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='int_value', full_name='opentelemetry.proto.common.v1.AnyValue.int_value', index=2, + number=3, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='double_value', full_name='opentelemetry.proto.common.v1.AnyValue.double_value', index=3, + number=4, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='array_value', full_name='opentelemetry.proto.common.v1.AnyValue.array_value', index=4, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='kvlist_value', full_name='opentelemetry.proto.common.v1.AnyValue.kvlist_value', index=5, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='bytes_value', full_name='opentelemetry.proto.common.v1.AnyValue.bytes_value', index=6, + number=7, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='value', full_name='opentelemetry.proto.common.v1.AnyValue.value', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=78, + serialized_end=346, +) + + +_ARRAYVALUE = _descriptor.Descriptor( + name='ArrayValue', + full_name='opentelemetry.proto.common.v1.ArrayValue', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='values', full_name='opentelemetry.proto.common.v1.ArrayValue.values', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=348, + serialized_end=417, +) + + +_KEYVALUELIST = _descriptor.Descriptor( + name='KeyValueList', + full_name='opentelemetry.proto.common.v1.KeyValueList', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='values', full_name='opentelemetry.proto.common.v1.KeyValueList.values', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=419, + serialized_end=490, +) + + +_KEYVALUE = _descriptor.Descriptor( + name='KeyValue', + full_name='opentelemetry.proto.common.v1.KeyValue', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='opentelemetry.proto.common.v1.KeyValue.key', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='opentelemetry.proto.common.v1.KeyValue.value', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=492, + serialized_end=571, +) + + +_INSTRUMENTATIONSCOPE = _descriptor.Descriptor( + name='InstrumentationScope', + full_name='opentelemetry.proto.common.v1.InstrumentationScope', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='opentelemetry.proto.common.v1.InstrumentationScope.name', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='version', full_name='opentelemetry.proto.common.v1.InstrumentationScope.version', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='attributes', full_name='opentelemetry.proto.common.v1.InstrumentationScope.attributes', index=2, + number=3, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dropped_attributes_count', full_name='opentelemetry.proto.common.v1.InstrumentationScope.dropped_attributes_count', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=574, + serialized_end=722, +) + +_ANYVALUE.fields_by_name['array_value'].message_type = _ARRAYVALUE +_ANYVALUE.fields_by_name['kvlist_value'].message_type = _KEYVALUELIST +_ANYVALUE.oneofs_by_name['value'].fields.append( + _ANYVALUE.fields_by_name['string_value']) +_ANYVALUE.fields_by_name['string_value'].containing_oneof = _ANYVALUE.oneofs_by_name['value'] +_ANYVALUE.oneofs_by_name['value'].fields.append( + _ANYVALUE.fields_by_name['bool_value']) +_ANYVALUE.fields_by_name['bool_value'].containing_oneof = _ANYVALUE.oneofs_by_name['value'] +_ANYVALUE.oneofs_by_name['value'].fields.append( + _ANYVALUE.fields_by_name['int_value']) +_ANYVALUE.fields_by_name['int_value'].containing_oneof = _ANYVALUE.oneofs_by_name['value'] +_ANYVALUE.oneofs_by_name['value'].fields.append( + _ANYVALUE.fields_by_name['double_value']) +_ANYVALUE.fields_by_name['double_value'].containing_oneof = _ANYVALUE.oneofs_by_name['value'] +_ANYVALUE.oneofs_by_name['value'].fields.append( + _ANYVALUE.fields_by_name['array_value']) +_ANYVALUE.fields_by_name['array_value'].containing_oneof = _ANYVALUE.oneofs_by_name['value'] +_ANYVALUE.oneofs_by_name['value'].fields.append( + _ANYVALUE.fields_by_name['kvlist_value']) +_ANYVALUE.fields_by_name['kvlist_value'].containing_oneof = _ANYVALUE.oneofs_by_name['value'] +_ANYVALUE.oneofs_by_name['value'].fields.append( + _ANYVALUE.fields_by_name['bytes_value']) +_ANYVALUE.fields_by_name['bytes_value'].containing_oneof = _ANYVALUE.oneofs_by_name['value'] +_ARRAYVALUE.fields_by_name['values'].message_type = _ANYVALUE +_KEYVALUELIST.fields_by_name['values'].message_type = _KEYVALUE +_KEYVALUE.fields_by_name['value'].message_type = _ANYVALUE +_INSTRUMENTATIONSCOPE.fields_by_name['attributes'].message_type = _KEYVALUE +DESCRIPTOR.message_types_by_name['AnyValue'] = _ANYVALUE +DESCRIPTOR.message_types_by_name['ArrayValue'] = _ARRAYVALUE +DESCRIPTOR.message_types_by_name['KeyValueList'] = _KEYVALUELIST +DESCRIPTOR.message_types_by_name['KeyValue'] = _KEYVALUE +DESCRIPTOR.message_types_by_name['InstrumentationScope'] = _INSTRUMENTATIONSCOPE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +AnyValue = _reflection.GeneratedProtocolMessageType('AnyValue', (_message.Message,), { + 'DESCRIPTOR' : _ANYVALUE, + '__module__' : 'opentelemetry.proto.common.v1.common_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.common.v1.AnyValue) + }) +_sym_db.RegisterMessage(AnyValue) + +ArrayValue = _reflection.GeneratedProtocolMessageType('ArrayValue', (_message.Message,), { + 'DESCRIPTOR' : _ARRAYVALUE, + '__module__' : 'opentelemetry.proto.common.v1.common_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.common.v1.ArrayValue) + }) +_sym_db.RegisterMessage(ArrayValue) + +KeyValueList = _reflection.GeneratedProtocolMessageType('KeyValueList', (_message.Message,), { + 'DESCRIPTOR' : _KEYVALUELIST, + '__module__' : 'opentelemetry.proto.common.v1.common_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.common.v1.KeyValueList) + }) +_sym_db.RegisterMessage(KeyValueList) + +KeyValue = _reflection.GeneratedProtocolMessageType('KeyValue', (_message.Message,), { + 'DESCRIPTOR' : _KEYVALUE, + '__module__' : 'opentelemetry.proto.common.v1.common_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.common.v1.KeyValue) + }) +_sym_db.RegisterMessage(KeyValue) + +InstrumentationScope = _reflection.GeneratedProtocolMessageType('InstrumentationScope', (_message.Message,), { + 'DESCRIPTOR' : _INSTRUMENTATIONSCOPE, + '__module__' : 'opentelemetry.proto.common.v1.common_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.common.v1.InstrumentationScope) + }) +_sym_db.RegisterMessage(InstrumentationScope) + + +DESCRIPTOR._options = None +# @@protoc_insertion_point(module_scope) diff --git a/scalyr_agent/third_party/opentelemetry/proto/logs/__init__.py b/scalyr_agent/third_party/opentelemetry/proto/logs/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/logs/v1/__init__.py b/scalyr_agent/third_party/opentelemetry/proto/logs/v1/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/logs/v1/logs_pb2.py b/scalyr_agent/third_party/opentelemetry/proto/logs/v1/logs_pb2.py new file mode 100644 index 0000000000..3623b24b25 --- /dev/null +++ b/scalyr_agent/third_party/opentelemetry/proto/logs/v1/logs_pb2.py @@ -0,0 +1,490 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: opentelemetry/proto/logs/v1/logs.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from opentelemetry.proto.common.v1 import common_pb2 as opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2 +from opentelemetry.proto.resource.v1 import resource_pb2 as opentelemetry_dot_proto_dot_resource_dot_v1_dot_resource__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='opentelemetry/proto/logs/v1/logs.proto', + package='opentelemetry.proto.logs.v1', + syntax='proto3', + serialized_options=b'\n\036io.opentelemetry.proto.logs.v1B\tLogsProtoP\001Z&go.opentelemetry.io/proto/otlp/logs/v1\252\002\033OpenTelemetry.Proto.Logs.V1', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n&opentelemetry/proto/logs/v1/logs.proto\x12\x1bopentelemetry.proto.logs.v1\x1a*opentelemetry/proto/common/v1/common.proto\x1a.opentelemetry/proto/resource/v1/resource.proto\"L\n\x08LogsData\x12@\n\rresource_logs\x18\x01 \x03(\x0b\x32).opentelemetry.proto.logs.v1.ResourceLogs\"\xa3\x01\n\x0cResourceLogs\x12;\n\x08resource\x18\x01 \x01(\x0b\x32).opentelemetry.proto.resource.v1.Resource\x12:\n\nscope_logs\x18\x02 \x03(\x0b\x32&.opentelemetry.proto.logs.v1.ScopeLogs\x12\x12\n\nschema_url\x18\x03 \x01(\tJ\x06\x08\xe8\x07\x10\xe9\x07\"\xa0\x01\n\tScopeLogs\x12\x42\n\x05scope\x18\x01 \x01(\x0b\x32\x33.opentelemetry.proto.common.v1.InstrumentationScope\x12;\n\x0blog_records\x18\x02 \x03(\x0b\x32&.opentelemetry.proto.logs.v1.LogRecord\x12\x12\n\nschema_url\x18\x03 \x01(\t\"\xef\x02\n\tLogRecord\x12\x16\n\x0etime_unix_nano\x18\x01 \x01(\x06\x12\x1f\n\x17observed_time_unix_nano\x18\x0b \x01(\x06\x12\x44\n\x0fseverity_number\x18\x02 \x01(\x0e\x32+.opentelemetry.proto.logs.v1.SeverityNumber\x12\x15\n\rseverity_text\x18\x03 \x01(\t\x12\x35\n\x04\x62ody\x18\x05 \x01(\x0b\x32\'.opentelemetry.proto.common.v1.AnyValue\x12;\n\nattributes\x18\x06 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x07 \x01(\r\x12\r\n\x05\x66lags\x18\x08 \x01(\x07\x12\x10\n\x08trace_id\x18\t \x01(\x0c\x12\x0f\n\x07span_id\x18\n \x01(\x0cJ\x04\x08\x04\x10\x05*\xc3\x05\n\x0eSeverityNumber\x12\x1f\n\x1bSEVERITY_NUMBER_UNSPECIFIED\x10\x00\x12\x19\n\x15SEVERITY_NUMBER_TRACE\x10\x01\x12\x1a\n\x16SEVERITY_NUMBER_TRACE2\x10\x02\x12\x1a\n\x16SEVERITY_NUMBER_TRACE3\x10\x03\x12\x1a\n\x16SEVERITY_NUMBER_TRACE4\x10\x04\x12\x19\n\x15SEVERITY_NUMBER_DEBUG\x10\x05\x12\x1a\n\x16SEVERITY_NUMBER_DEBUG2\x10\x06\x12\x1a\n\x16SEVERITY_NUMBER_DEBUG3\x10\x07\x12\x1a\n\x16SEVERITY_NUMBER_DEBUG4\x10\x08\x12\x18\n\x14SEVERITY_NUMBER_INFO\x10\t\x12\x19\n\x15SEVERITY_NUMBER_INFO2\x10\n\x12\x19\n\x15SEVERITY_NUMBER_INFO3\x10\x0b\x12\x19\n\x15SEVERITY_NUMBER_INFO4\x10\x0c\x12\x18\n\x14SEVERITY_NUMBER_WARN\x10\r\x12\x19\n\x15SEVERITY_NUMBER_WARN2\x10\x0e\x12\x19\n\x15SEVERITY_NUMBER_WARN3\x10\x0f\x12\x19\n\x15SEVERITY_NUMBER_WARN4\x10\x10\x12\x19\n\x15SEVERITY_NUMBER_ERROR\x10\x11\x12\x1a\n\x16SEVERITY_NUMBER_ERROR2\x10\x12\x12\x1a\n\x16SEVERITY_NUMBER_ERROR3\x10\x13\x12\x1a\n\x16SEVERITY_NUMBER_ERROR4\x10\x14\x12\x19\n\x15SEVERITY_NUMBER_FATAL\x10\x15\x12\x1a\n\x16SEVERITY_NUMBER_FATAL2\x10\x16\x12\x1a\n\x16SEVERITY_NUMBER_FATAL3\x10\x17\x12\x1a\n\x16SEVERITY_NUMBER_FATAL4\x10\x18*Y\n\x0eLogRecordFlags\x12\x1f\n\x1bLOG_RECORD_FLAGS_DO_NOT_USE\x10\x00\x12&\n!LOG_RECORD_FLAGS_TRACE_FLAGS_MASK\x10\xff\x01\x42s\n\x1eio.opentelemetry.proto.logs.v1B\tLogsProtoP\x01Z&go.opentelemetry.io/proto/otlp/logs/v1\xaa\x02\x1bOpenTelemetry.Proto.Logs.V1b\x06proto3' + , + dependencies=[opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2.DESCRIPTOR,opentelemetry_dot_proto_dot_resource_dot_v1_dot_resource__pb2.DESCRIPTOR,]) + +_SEVERITYNUMBER = _descriptor.EnumDescriptor( + name='SeverityNumber', + full_name='opentelemetry.proto.logs.v1.SeverityNumber', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_UNSPECIFIED', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_TRACE', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_TRACE2', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_TRACE3', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_TRACE4', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_DEBUG', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_DEBUG2', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_DEBUG3', index=7, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_DEBUG4', index=8, number=8, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_INFO', index=9, number=9, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_INFO2', index=10, number=10, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_INFO3', index=11, number=11, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_INFO4', index=12, number=12, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_WARN', index=13, number=13, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_WARN2', index=14, number=14, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_WARN3', index=15, number=15, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_WARN4', index=16, number=16, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_ERROR', index=17, number=17, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_ERROR2', index=18, number=18, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_ERROR3', index=19, number=19, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_ERROR4', index=20, number=20, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_FATAL', index=21, number=21, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_FATAL2', index=22, number=22, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_FATAL3', index=23, number=23, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEVERITY_NUMBER_FATAL4', index=24, number=24, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=941, + serialized_end=1648, +) +_sym_db.RegisterEnumDescriptor(_SEVERITYNUMBER) + +SeverityNumber = enum_type_wrapper.EnumTypeWrapper(_SEVERITYNUMBER) +_LOGRECORDFLAGS = _descriptor.EnumDescriptor( + name='LogRecordFlags', + full_name='opentelemetry.proto.logs.v1.LogRecordFlags', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='LOG_RECORD_FLAGS_DO_NOT_USE', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='LOG_RECORD_FLAGS_TRACE_FLAGS_MASK', index=1, number=255, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=1650, + serialized_end=1739, +) +_sym_db.RegisterEnumDescriptor(_LOGRECORDFLAGS) + +LogRecordFlags = enum_type_wrapper.EnumTypeWrapper(_LOGRECORDFLAGS) +SEVERITY_NUMBER_UNSPECIFIED = 0 +SEVERITY_NUMBER_TRACE = 1 +SEVERITY_NUMBER_TRACE2 = 2 +SEVERITY_NUMBER_TRACE3 = 3 +SEVERITY_NUMBER_TRACE4 = 4 +SEVERITY_NUMBER_DEBUG = 5 +SEVERITY_NUMBER_DEBUG2 = 6 +SEVERITY_NUMBER_DEBUG3 = 7 +SEVERITY_NUMBER_DEBUG4 = 8 +SEVERITY_NUMBER_INFO = 9 +SEVERITY_NUMBER_INFO2 = 10 +SEVERITY_NUMBER_INFO3 = 11 +SEVERITY_NUMBER_INFO4 = 12 +SEVERITY_NUMBER_WARN = 13 +SEVERITY_NUMBER_WARN2 = 14 +SEVERITY_NUMBER_WARN3 = 15 +SEVERITY_NUMBER_WARN4 = 16 +SEVERITY_NUMBER_ERROR = 17 +SEVERITY_NUMBER_ERROR2 = 18 +SEVERITY_NUMBER_ERROR3 = 19 +SEVERITY_NUMBER_ERROR4 = 20 +SEVERITY_NUMBER_FATAL = 21 +SEVERITY_NUMBER_FATAL2 = 22 +SEVERITY_NUMBER_FATAL3 = 23 +SEVERITY_NUMBER_FATAL4 = 24 +LOG_RECORD_FLAGS_DO_NOT_USE = 0 +LOG_RECORD_FLAGS_TRACE_FLAGS_MASK = 255 + + + +_LOGSDATA = _descriptor.Descriptor( + name='LogsData', + full_name='opentelemetry.proto.logs.v1.LogsData', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='resource_logs', full_name='opentelemetry.proto.logs.v1.LogsData.resource_logs', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=163, + serialized_end=239, +) + + +_RESOURCELOGS = _descriptor.Descriptor( + name='ResourceLogs', + full_name='opentelemetry.proto.logs.v1.ResourceLogs', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='resource', full_name='opentelemetry.proto.logs.v1.ResourceLogs.resource', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='scope_logs', full_name='opentelemetry.proto.logs.v1.ResourceLogs.scope_logs', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='schema_url', full_name='opentelemetry.proto.logs.v1.ResourceLogs.schema_url', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=242, + serialized_end=405, +) + + +_SCOPELOGS = _descriptor.Descriptor( + name='ScopeLogs', + full_name='opentelemetry.proto.logs.v1.ScopeLogs', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='scope', full_name='opentelemetry.proto.logs.v1.ScopeLogs.scope', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='log_records', full_name='opentelemetry.proto.logs.v1.ScopeLogs.log_records', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='schema_url', full_name='opentelemetry.proto.logs.v1.ScopeLogs.schema_url', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=408, + serialized_end=568, +) + + +_LOGRECORD = _descriptor.Descriptor( + name='LogRecord', + full_name='opentelemetry.proto.logs.v1.LogRecord', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='time_unix_nano', full_name='opentelemetry.proto.logs.v1.LogRecord.time_unix_nano', index=0, + number=1, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='observed_time_unix_nano', full_name='opentelemetry.proto.logs.v1.LogRecord.observed_time_unix_nano', index=1, + number=11, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='severity_number', full_name='opentelemetry.proto.logs.v1.LogRecord.severity_number', index=2, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='severity_text', full_name='opentelemetry.proto.logs.v1.LogRecord.severity_text', index=3, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='body', full_name='opentelemetry.proto.logs.v1.LogRecord.body', index=4, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='attributes', full_name='opentelemetry.proto.logs.v1.LogRecord.attributes', index=5, + number=6, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dropped_attributes_count', full_name='opentelemetry.proto.logs.v1.LogRecord.dropped_attributes_count', index=6, + number=7, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='flags', full_name='opentelemetry.proto.logs.v1.LogRecord.flags', index=7, + number=8, type=7, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='trace_id', full_name='opentelemetry.proto.logs.v1.LogRecord.trace_id', index=8, + number=9, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='span_id', full_name='opentelemetry.proto.logs.v1.LogRecord.span_id', index=9, + number=10, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=571, + serialized_end=938, +) + +_LOGSDATA.fields_by_name['resource_logs'].message_type = _RESOURCELOGS +_RESOURCELOGS.fields_by_name['resource'].message_type = opentelemetry_dot_proto_dot_resource_dot_v1_dot_resource__pb2._RESOURCE +_RESOURCELOGS.fields_by_name['scope_logs'].message_type = _SCOPELOGS +_SCOPELOGS.fields_by_name['scope'].message_type = opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2._INSTRUMENTATIONSCOPE +_SCOPELOGS.fields_by_name['log_records'].message_type = _LOGRECORD +_LOGRECORD.fields_by_name['severity_number'].enum_type = _SEVERITYNUMBER +_LOGRECORD.fields_by_name['body'].message_type = opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2._ANYVALUE +_LOGRECORD.fields_by_name['attributes'].message_type = opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2._KEYVALUE +DESCRIPTOR.message_types_by_name['LogsData'] = _LOGSDATA +DESCRIPTOR.message_types_by_name['ResourceLogs'] = _RESOURCELOGS +DESCRIPTOR.message_types_by_name['ScopeLogs'] = _SCOPELOGS +DESCRIPTOR.message_types_by_name['LogRecord'] = _LOGRECORD +DESCRIPTOR.enum_types_by_name['SeverityNumber'] = _SEVERITYNUMBER +DESCRIPTOR.enum_types_by_name['LogRecordFlags'] = _LOGRECORDFLAGS +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +LogsData = _reflection.GeneratedProtocolMessageType('LogsData', (_message.Message,), { + 'DESCRIPTOR' : _LOGSDATA, + '__module__' : 'opentelemetry.proto.logs.v1.logs_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.logs.v1.LogsData) + }) +_sym_db.RegisterMessage(LogsData) + +ResourceLogs = _reflection.GeneratedProtocolMessageType('ResourceLogs', (_message.Message,), { + 'DESCRIPTOR' : _RESOURCELOGS, + '__module__' : 'opentelemetry.proto.logs.v1.logs_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.logs.v1.ResourceLogs) + }) +_sym_db.RegisterMessage(ResourceLogs) + +ScopeLogs = _reflection.GeneratedProtocolMessageType('ScopeLogs', (_message.Message,), { + 'DESCRIPTOR' : _SCOPELOGS, + '__module__' : 'opentelemetry.proto.logs.v1.logs_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.logs.v1.ScopeLogs) + }) +_sym_db.RegisterMessage(ScopeLogs) + +LogRecord = _reflection.GeneratedProtocolMessageType('LogRecord', (_message.Message,), { + 'DESCRIPTOR' : _LOGRECORD, + '__module__' : 'opentelemetry.proto.logs.v1.logs_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.logs.v1.LogRecord) + }) +_sym_db.RegisterMessage(LogRecord) + + +DESCRIPTOR._options = None +# @@protoc_insertion_point(module_scope) diff --git a/scalyr_agent/third_party/opentelemetry/proto/metrics/__init__.py b/scalyr_agent/third_party/opentelemetry/proto/metrics/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/metrics/v1/__init__.py b/scalyr_agent/third_party/opentelemetry/proto/metrics/v1/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/metrics/v1/metrics_pb2.py b/scalyr_agent/third_party/opentelemetry/proto/metrics/v1/metrics_pb2.py new file mode 100644 index 0000000000..25992971a0 --- /dev/null +++ b/scalyr_agent/third_party/opentelemetry/proto/metrics/v1/metrics_pb2.py @@ -0,0 +1,1257 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: opentelemetry/proto/metrics/v1/metrics.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from opentelemetry.proto.common.v1 import common_pb2 as opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2 +from opentelemetry.proto.resource.v1 import resource_pb2 as opentelemetry_dot_proto_dot_resource_dot_v1_dot_resource__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='opentelemetry/proto/metrics/v1/metrics.proto', + package='opentelemetry.proto.metrics.v1', + syntax='proto3', + serialized_options=b'\n!io.opentelemetry.proto.metrics.v1B\014MetricsProtoP\001Z)go.opentelemetry.io/proto/otlp/metrics/v1\252\002\036OpenTelemetry.Proto.Metrics.V1', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n,opentelemetry/proto/metrics/v1/metrics.proto\x12\x1eopentelemetry.proto.metrics.v1\x1a*opentelemetry/proto/common/v1/common.proto\x1a.opentelemetry/proto/resource/v1/resource.proto\"X\n\x0bMetricsData\x12I\n\x10resource_metrics\x18\x01 \x03(\x0b\x32/.opentelemetry.proto.metrics.v1.ResourceMetrics\"\xaf\x01\n\x0fResourceMetrics\x12;\n\x08resource\x18\x01 \x01(\x0b\x32).opentelemetry.proto.resource.v1.Resource\x12\x43\n\rscope_metrics\x18\x02 \x03(\x0b\x32,.opentelemetry.proto.metrics.v1.ScopeMetrics\x12\x12\n\nschema_url\x18\x03 \x01(\tJ\x06\x08\xe8\x07\x10\xe9\x07\"\x9f\x01\n\x0cScopeMetrics\x12\x42\n\x05scope\x18\x01 \x01(\x0b\x32\x33.opentelemetry.proto.common.v1.InstrumentationScope\x12\x37\n\x07metrics\x18\x02 \x03(\x0b\x32&.opentelemetry.proto.metrics.v1.Metric\x12\x12\n\nschema_url\x18\x03 \x01(\t\"\x92\x03\n\x06Metric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04unit\x18\x03 \x01(\t\x12\x36\n\x05gauge\x18\x05 \x01(\x0b\x32%.opentelemetry.proto.metrics.v1.GaugeH\x00\x12\x32\n\x03sum\x18\x07 \x01(\x0b\x32#.opentelemetry.proto.metrics.v1.SumH\x00\x12>\n\thistogram\x18\t \x01(\x0b\x32).opentelemetry.proto.metrics.v1.HistogramH\x00\x12U\n\x15\x65xponential_histogram\x18\n \x01(\x0b\x32\x34.opentelemetry.proto.metrics.v1.ExponentialHistogramH\x00\x12:\n\x07summary\x18\x0b \x01(\x0b\x32\'.opentelemetry.proto.metrics.v1.SummaryH\x00\x42\x06\n\x04\x64\x61taJ\x04\x08\x04\x10\x05J\x04\x08\x06\x10\x07J\x04\x08\x08\x10\t\"M\n\x05Gauge\x12\x44\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32/.opentelemetry.proto.metrics.v1.NumberDataPoint\"\xba\x01\n\x03Sum\x12\x44\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32/.opentelemetry.proto.metrics.v1.NumberDataPoint\x12W\n\x17\x61ggregation_temporality\x18\x02 \x01(\x0e\x32\x36.opentelemetry.proto.metrics.v1.AggregationTemporality\x12\x14\n\x0cis_monotonic\x18\x03 \x01(\x08\"\xad\x01\n\tHistogram\x12G\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32\x32.opentelemetry.proto.metrics.v1.HistogramDataPoint\x12W\n\x17\x61ggregation_temporality\x18\x02 \x01(\x0e\x32\x36.opentelemetry.proto.metrics.v1.AggregationTemporality\"\xc3\x01\n\x14\x45xponentialHistogram\x12R\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32=.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint\x12W\n\x17\x61ggregation_temporality\x18\x02 \x01(\x0e\x32\x36.opentelemetry.proto.metrics.v1.AggregationTemporality\"P\n\x07Summary\x12\x45\n\x0b\x64\x61ta_points\x18\x01 \x03(\x0b\x32\x30.opentelemetry.proto.metrics.v1.SummaryDataPoint\"\x86\x02\n\x0fNumberDataPoint\x12;\n\nattributes\x18\x07 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x1c\n\x14start_time_unix_nano\x18\x02 \x01(\x06\x12\x16\n\x0etime_unix_nano\x18\x03 \x01(\x06\x12\x13\n\tas_double\x18\x04 \x01(\x01H\x00\x12\x10\n\x06\x61s_int\x18\x06 \x01(\x10H\x00\x12;\n\texemplars\x18\x05 \x03(\x0b\x32(.opentelemetry.proto.metrics.v1.Exemplar\x12\r\n\x05\x66lags\x18\x08 \x01(\rB\x07\n\x05valueJ\x04\x08\x01\x10\x02\"\xe6\x02\n\x12HistogramDataPoint\x12;\n\nattributes\x18\t \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x1c\n\x14start_time_unix_nano\x18\x02 \x01(\x06\x12\x16\n\x0etime_unix_nano\x18\x03 \x01(\x06\x12\r\n\x05\x63ount\x18\x04 \x01(\x06\x12\x10\n\x03sum\x18\x05 \x01(\x01H\x00\x88\x01\x01\x12\x15\n\rbucket_counts\x18\x06 \x03(\x06\x12\x17\n\x0f\x65xplicit_bounds\x18\x07 \x03(\x01\x12;\n\texemplars\x18\x08 \x03(\x0b\x32(.opentelemetry.proto.metrics.v1.Exemplar\x12\r\n\x05\x66lags\x18\n \x01(\r\x12\x10\n\x03min\x18\x0b \x01(\x01H\x01\x88\x01\x01\x12\x10\n\x03max\x18\x0c \x01(\x01H\x02\x88\x01\x01\x42\x06\n\x04_sumB\x06\n\x04_minB\x06\n\x04_maxJ\x04\x08\x01\x10\x02\"\xda\x04\n\x1d\x45xponentialHistogramDataPoint\x12;\n\nattributes\x18\x01 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x1c\n\x14start_time_unix_nano\x18\x02 \x01(\x06\x12\x16\n\x0etime_unix_nano\x18\x03 \x01(\x06\x12\r\n\x05\x63ount\x18\x04 \x01(\x06\x12\x10\n\x03sum\x18\x05 \x01(\x01H\x00\x88\x01\x01\x12\r\n\x05scale\x18\x06 \x01(\x11\x12\x12\n\nzero_count\x18\x07 \x01(\x06\x12W\n\x08positive\x18\x08 \x01(\x0b\x32\x45.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets\x12W\n\x08negative\x18\t \x01(\x0b\x32\x45.opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets\x12\r\n\x05\x66lags\x18\n \x01(\r\x12;\n\texemplars\x18\x0b \x03(\x0b\x32(.opentelemetry.proto.metrics.v1.Exemplar\x12\x10\n\x03min\x18\x0c \x01(\x01H\x01\x88\x01\x01\x12\x10\n\x03max\x18\r \x01(\x01H\x02\x88\x01\x01\x12\x16\n\x0ezero_threshold\x18\x0e \x01(\x01\x1a\x30\n\x07\x42uckets\x12\x0e\n\x06offset\x18\x01 \x01(\x11\x12\x15\n\rbucket_counts\x18\x02 \x03(\x04\x42\x06\n\x04_sumB\x06\n\x04_minB\x06\n\x04_max\"\xc5\x02\n\x10SummaryDataPoint\x12;\n\nattributes\x18\x07 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x1c\n\x14start_time_unix_nano\x18\x02 \x01(\x06\x12\x16\n\x0etime_unix_nano\x18\x03 \x01(\x06\x12\r\n\x05\x63ount\x18\x04 \x01(\x06\x12\x0b\n\x03sum\x18\x05 \x01(\x01\x12Y\n\x0fquantile_values\x18\x06 \x03(\x0b\x32@.opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile\x12\r\n\x05\x66lags\x18\x08 \x01(\r\x1a\x32\n\x0fValueAtQuantile\x12\x10\n\x08quantile\x18\x01 \x01(\x01\x12\r\n\x05value\x18\x02 \x01(\x01J\x04\x08\x01\x10\x02\"\xc1\x01\n\x08\x45xemplar\x12\x44\n\x13\x66iltered_attributes\x18\x07 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12\x16\n\x0etime_unix_nano\x18\x02 \x01(\x06\x12\x13\n\tas_double\x18\x03 \x01(\x01H\x00\x12\x10\n\x06\x61s_int\x18\x06 \x01(\x10H\x00\x12\x0f\n\x07span_id\x18\x04 \x01(\x0c\x12\x10\n\x08trace_id\x18\x05 \x01(\x0c\x42\x07\n\x05valueJ\x04\x08\x01\x10\x02*\x8c\x01\n\x16\x41ggregationTemporality\x12\'\n#AGGREGATION_TEMPORALITY_UNSPECIFIED\x10\x00\x12!\n\x1d\x41GGREGATION_TEMPORALITY_DELTA\x10\x01\x12&\n\"AGGREGATION_TEMPORALITY_CUMULATIVE\x10\x02*^\n\x0e\x44\x61taPointFlags\x12\x1f\n\x1b\x44\x41TA_POINT_FLAGS_DO_NOT_USE\x10\x00\x12+\n\'DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK\x10\x01\x42\x7f\n!io.opentelemetry.proto.metrics.v1B\x0cMetricsProtoP\x01Z)go.opentelemetry.io/proto/otlp/metrics/v1\xaa\x02\x1eOpenTelemetry.Proto.Metrics.V1b\x06proto3' + , + dependencies=[opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2.DESCRIPTOR,opentelemetry_dot_proto_dot_resource_dot_v1_dot_resource__pb2.DESCRIPTOR,]) + +_AGGREGATIONTEMPORALITY = _descriptor.EnumDescriptor( + name='AggregationTemporality', + full_name='opentelemetry.proto.metrics.v1.AggregationTemporality', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='AGGREGATION_TEMPORALITY_UNSPECIFIED', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='AGGREGATION_TEMPORALITY_DELTA', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='AGGREGATION_TEMPORALITY_CUMULATIVE', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=3487, + serialized_end=3627, +) +_sym_db.RegisterEnumDescriptor(_AGGREGATIONTEMPORALITY) + +AggregationTemporality = enum_type_wrapper.EnumTypeWrapper(_AGGREGATIONTEMPORALITY) +_DATAPOINTFLAGS = _descriptor.EnumDescriptor( + name='DataPointFlags', + full_name='opentelemetry.proto.metrics.v1.DataPointFlags', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='DATA_POINT_FLAGS_DO_NOT_USE', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=3629, + serialized_end=3723, +) +_sym_db.RegisterEnumDescriptor(_DATAPOINTFLAGS) + +DataPointFlags = enum_type_wrapper.EnumTypeWrapper(_DATAPOINTFLAGS) +AGGREGATION_TEMPORALITY_UNSPECIFIED = 0 +AGGREGATION_TEMPORALITY_DELTA = 1 +AGGREGATION_TEMPORALITY_CUMULATIVE = 2 +DATA_POINT_FLAGS_DO_NOT_USE = 0 +DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK = 1 + + + +_METRICSDATA = _descriptor.Descriptor( + name='MetricsData', + full_name='opentelemetry.proto.metrics.v1.MetricsData', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='resource_metrics', full_name='opentelemetry.proto.metrics.v1.MetricsData.resource_metrics', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=172, + serialized_end=260, +) + + +_RESOURCEMETRICS = _descriptor.Descriptor( + name='ResourceMetrics', + full_name='opentelemetry.proto.metrics.v1.ResourceMetrics', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='resource', full_name='opentelemetry.proto.metrics.v1.ResourceMetrics.resource', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='scope_metrics', full_name='opentelemetry.proto.metrics.v1.ResourceMetrics.scope_metrics', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='schema_url', full_name='opentelemetry.proto.metrics.v1.ResourceMetrics.schema_url', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=263, + serialized_end=438, +) + + +_SCOPEMETRICS = _descriptor.Descriptor( + name='ScopeMetrics', + full_name='opentelemetry.proto.metrics.v1.ScopeMetrics', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='scope', full_name='opentelemetry.proto.metrics.v1.ScopeMetrics.scope', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='metrics', full_name='opentelemetry.proto.metrics.v1.ScopeMetrics.metrics', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='schema_url', full_name='opentelemetry.proto.metrics.v1.ScopeMetrics.schema_url', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=441, + serialized_end=600, +) + + +_METRIC = _descriptor.Descriptor( + name='Metric', + full_name='opentelemetry.proto.metrics.v1.Metric', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='opentelemetry.proto.metrics.v1.Metric.name', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='description', full_name='opentelemetry.proto.metrics.v1.Metric.description', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='unit', full_name='opentelemetry.proto.metrics.v1.Metric.unit', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='gauge', full_name='opentelemetry.proto.metrics.v1.Metric.gauge', index=3, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sum', full_name='opentelemetry.proto.metrics.v1.Metric.sum', index=4, + number=7, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='histogram', full_name='opentelemetry.proto.metrics.v1.Metric.histogram', index=5, + number=9, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='exponential_histogram', full_name='opentelemetry.proto.metrics.v1.Metric.exponential_histogram', index=6, + number=10, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='summary', full_name='opentelemetry.proto.metrics.v1.Metric.summary', index=7, + number=11, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='data', full_name='opentelemetry.proto.metrics.v1.Metric.data', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=603, + serialized_end=1005, +) + + +_GAUGE = _descriptor.Descriptor( + name='Gauge', + full_name='opentelemetry.proto.metrics.v1.Gauge', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='data_points', full_name='opentelemetry.proto.metrics.v1.Gauge.data_points', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1007, + serialized_end=1084, +) + + +_SUM = _descriptor.Descriptor( + name='Sum', + full_name='opentelemetry.proto.metrics.v1.Sum', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='data_points', full_name='opentelemetry.proto.metrics.v1.Sum.data_points', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='aggregation_temporality', full_name='opentelemetry.proto.metrics.v1.Sum.aggregation_temporality', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='is_monotonic', full_name='opentelemetry.proto.metrics.v1.Sum.is_monotonic', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1087, + serialized_end=1273, +) + + +_HISTOGRAM = _descriptor.Descriptor( + name='Histogram', + full_name='opentelemetry.proto.metrics.v1.Histogram', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='data_points', full_name='opentelemetry.proto.metrics.v1.Histogram.data_points', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='aggregation_temporality', full_name='opentelemetry.proto.metrics.v1.Histogram.aggregation_temporality', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1276, + serialized_end=1449, +) + + +_EXPONENTIALHISTOGRAM = _descriptor.Descriptor( + name='ExponentialHistogram', + full_name='opentelemetry.proto.metrics.v1.ExponentialHistogram', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='data_points', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogram.data_points', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='aggregation_temporality', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogram.aggregation_temporality', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1452, + serialized_end=1647, +) + + +_SUMMARY = _descriptor.Descriptor( + name='Summary', + full_name='opentelemetry.proto.metrics.v1.Summary', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='data_points', full_name='opentelemetry.proto.metrics.v1.Summary.data_points', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1649, + serialized_end=1729, +) + + +_NUMBERDATAPOINT = _descriptor.Descriptor( + name='NumberDataPoint', + full_name='opentelemetry.proto.metrics.v1.NumberDataPoint', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='attributes', full_name='opentelemetry.proto.metrics.v1.NumberDataPoint.attributes', index=0, + number=7, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='start_time_unix_nano', full_name='opentelemetry.proto.metrics.v1.NumberDataPoint.start_time_unix_nano', index=1, + number=2, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='time_unix_nano', full_name='opentelemetry.proto.metrics.v1.NumberDataPoint.time_unix_nano', index=2, + number=3, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='as_double', full_name='opentelemetry.proto.metrics.v1.NumberDataPoint.as_double', index=3, + number=4, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='as_int', full_name='opentelemetry.proto.metrics.v1.NumberDataPoint.as_int', index=4, + number=6, type=16, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='exemplars', full_name='opentelemetry.proto.metrics.v1.NumberDataPoint.exemplars', index=5, + number=5, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='flags', full_name='opentelemetry.proto.metrics.v1.NumberDataPoint.flags', index=6, + number=8, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='value', full_name='opentelemetry.proto.metrics.v1.NumberDataPoint.value', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=1732, + serialized_end=1994, +) + + +_HISTOGRAMDATAPOINT = _descriptor.Descriptor( + name='HistogramDataPoint', + full_name='opentelemetry.proto.metrics.v1.HistogramDataPoint', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='attributes', full_name='opentelemetry.proto.metrics.v1.HistogramDataPoint.attributes', index=0, + number=9, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='start_time_unix_nano', full_name='opentelemetry.proto.metrics.v1.HistogramDataPoint.start_time_unix_nano', index=1, + number=2, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='time_unix_nano', full_name='opentelemetry.proto.metrics.v1.HistogramDataPoint.time_unix_nano', index=2, + number=3, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='count', full_name='opentelemetry.proto.metrics.v1.HistogramDataPoint.count', index=3, + number=4, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sum', full_name='opentelemetry.proto.metrics.v1.HistogramDataPoint.sum', index=4, + number=5, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='bucket_counts', full_name='opentelemetry.proto.metrics.v1.HistogramDataPoint.bucket_counts', index=5, + number=6, type=6, cpp_type=4, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='explicit_bounds', full_name='opentelemetry.proto.metrics.v1.HistogramDataPoint.explicit_bounds', index=6, + number=7, type=1, cpp_type=5, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='exemplars', full_name='opentelemetry.proto.metrics.v1.HistogramDataPoint.exemplars', index=7, + number=8, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='flags', full_name='opentelemetry.proto.metrics.v1.HistogramDataPoint.flags', index=8, + number=10, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='min', full_name='opentelemetry.proto.metrics.v1.HistogramDataPoint.min', index=9, + number=11, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='max', full_name='opentelemetry.proto.metrics.v1.HistogramDataPoint.max', index=10, + number=12, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='_sum', full_name='opentelemetry.proto.metrics.v1.HistogramDataPoint._sum', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + _descriptor.OneofDescriptor( + name='_min', full_name='opentelemetry.proto.metrics.v1.HistogramDataPoint._min', + index=1, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + _descriptor.OneofDescriptor( + name='_max', full_name='opentelemetry.proto.metrics.v1.HistogramDataPoint._max', + index=2, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=1997, + serialized_end=2355, +) + + +_EXPONENTIALHISTOGRAMDATAPOINT_BUCKETS = _descriptor.Descriptor( + name='Buckets', + full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='offset', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets.offset', index=0, + number=1, type=17, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='bucket_counts', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets.bucket_counts', index=1, + number=2, type=4, cpp_type=4, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2888, + serialized_end=2936, +) + +_EXPONENTIALHISTOGRAMDATAPOINT = _descriptor.Descriptor( + name='ExponentialHistogramDataPoint', + full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='attributes', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.attributes', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='start_time_unix_nano', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.start_time_unix_nano', index=1, + number=2, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='time_unix_nano', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.time_unix_nano', index=2, + number=3, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='count', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.count', index=3, + number=4, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sum', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.sum', index=4, + number=5, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='scale', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.scale', index=5, + number=6, type=17, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='zero_count', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.zero_count', index=6, + number=7, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='positive', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.positive', index=7, + number=8, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='negative', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.negative', index=8, + number=9, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='flags', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.flags', index=9, + number=10, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='exemplars', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.exemplars', index=10, + number=11, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='min', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.min', index=11, + number=12, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='max', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.max', index=12, + number=13, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='zero_threshold', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.zero_threshold', index=13, + number=14, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_EXPONENTIALHISTOGRAMDATAPOINT_BUCKETS, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='_sum', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint._sum', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + _descriptor.OneofDescriptor( + name='_min', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint._min', + index=1, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + _descriptor.OneofDescriptor( + name='_max', full_name='opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint._max', + index=2, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=2358, + serialized_end=2960, +) + + +_SUMMARYDATAPOINT_VALUEATQUANTILE = _descriptor.Descriptor( + name='ValueAtQuantile', + full_name='opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='quantile', full_name='opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile.quantile', index=0, + number=1, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile.value', index=1, + number=2, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3232, + serialized_end=3282, +) + +_SUMMARYDATAPOINT = _descriptor.Descriptor( + name='SummaryDataPoint', + full_name='opentelemetry.proto.metrics.v1.SummaryDataPoint', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='attributes', full_name='opentelemetry.proto.metrics.v1.SummaryDataPoint.attributes', index=0, + number=7, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='start_time_unix_nano', full_name='opentelemetry.proto.metrics.v1.SummaryDataPoint.start_time_unix_nano', index=1, + number=2, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='time_unix_nano', full_name='opentelemetry.proto.metrics.v1.SummaryDataPoint.time_unix_nano', index=2, + number=3, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='count', full_name='opentelemetry.proto.metrics.v1.SummaryDataPoint.count', index=3, + number=4, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sum', full_name='opentelemetry.proto.metrics.v1.SummaryDataPoint.sum', index=4, + number=5, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='quantile_values', full_name='opentelemetry.proto.metrics.v1.SummaryDataPoint.quantile_values', index=5, + number=6, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='flags', full_name='opentelemetry.proto.metrics.v1.SummaryDataPoint.flags', index=6, + number=8, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_SUMMARYDATAPOINT_VALUEATQUANTILE, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2963, + serialized_end=3288, +) + + +_EXEMPLAR = _descriptor.Descriptor( + name='Exemplar', + full_name='opentelemetry.proto.metrics.v1.Exemplar', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='filtered_attributes', full_name='opentelemetry.proto.metrics.v1.Exemplar.filtered_attributes', index=0, + number=7, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='time_unix_nano', full_name='opentelemetry.proto.metrics.v1.Exemplar.time_unix_nano', index=1, + number=2, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='as_double', full_name='opentelemetry.proto.metrics.v1.Exemplar.as_double', index=2, + number=3, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='as_int', full_name='opentelemetry.proto.metrics.v1.Exemplar.as_int', index=3, + number=6, type=16, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='span_id', full_name='opentelemetry.proto.metrics.v1.Exemplar.span_id', index=4, + number=4, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='trace_id', full_name='opentelemetry.proto.metrics.v1.Exemplar.trace_id', index=5, + number=5, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='value', full_name='opentelemetry.proto.metrics.v1.Exemplar.value', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=3291, + serialized_end=3484, +) + +_METRICSDATA.fields_by_name['resource_metrics'].message_type = _RESOURCEMETRICS +_RESOURCEMETRICS.fields_by_name['resource'].message_type = opentelemetry_dot_proto_dot_resource_dot_v1_dot_resource__pb2._RESOURCE +_RESOURCEMETRICS.fields_by_name['scope_metrics'].message_type = _SCOPEMETRICS +_SCOPEMETRICS.fields_by_name['scope'].message_type = opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2._INSTRUMENTATIONSCOPE +_SCOPEMETRICS.fields_by_name['metrics'].message_type = _METRIC +_METRIC.fields_by_name['gauge'].message_type = _GAUGE +_METRIC.fields_by_name['sum'].message_type = _SUM +_METRIC.fields_by_name['histogram'].message_type = _HISTOGRAM +_METRIC.fields_by_name['exponential_histogram'].message_type = _EXPONENTIALHISTOGRAM +_METRIC.fields_by_name['summary'].message_type = _SUMMARY +_METRIC.oneofs_by_name['data'].fields.append( + _METRIC.fields_by_name['gauge']) +_METRIC.fields_by_name['gauge'].containing_oneof = _METRIC.oneofs_by_name['data'] +_METRIC.oneofs_by_name['data'].fields.append( + _METRIC.fields_by_name['sum']) +_METRIC.fields_by_name['sum'].containing_oneof = _METRIC.oneofs_by_name['data'] +_METRIC.oneofs_by_name['data'].fields.append( + _METRIC.fields_by_name['histogram']) +_METRIC.fields_by_name['histogram'].containing_oneof = _METRIC.oneofs_by_name['data'] +_METRIC.oneofs_by_name['data'].fields.append( + _METRIC.fields_by_name['exponential_histogram']) +_METRIC.fields_by_name['exponential_histogram'].containing_oneof = _METRIC.oneofs_by_name['data'] +_METRIC.oneofs_by_name['data'].fields.append( + _METRIC.fields_by_name['summary']) +_METRIC.fields_by_name['summary'].containing_oneof = _METRIC.oneofs_by_name['data'] +_GAUGE.fields_by_name['data_points'].message_type = _NUMBERDATAPOINT +_SUM.fields_by_name['data_points'].message_type = _NUMBERDATAPOINT +_SUM.fields_by_name['aggregation_temporality'].enum_type = _AGGREGATIONTEMPORALITY +_HISTOGRAM.fields_by_name['data_points'].message_type = _HISTOGRAMDATAPOINT +_HISTOGRAM.fields_by_name['aggregation_temporality'].enum_type = _AGGREGATIONTEMPORALITY +_EXPONENTIALHISTOGRAM.fields_by_name['data_points'].message_type = _EXPONENTIALHISTOGRAMDATAPOINT +_EXPONENTIALHISTOGRAM.fields_by_name['aggregation_temporality'].enum_type = _AGGREGATIONTEMPORALITY +_SUMMARY.fields_by_name['data_points'].message_type = _SUMMARYDATAPOINT +_NUMBERDATAPOINT.fields_by_name['attributes'].message_type = opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2._KEYVALUE +_NUMBERDATAPOINT.fields_by_name['exemplars'].message_type = _EXEMPLAR +_NUMBERDATAPOINT.oneofs_by_name['value'].fields.append( + _NUMBERDATAPOINT.fields_by_name['as_double']) +_NUMBERDATAPOINT.fields_by_name['as_double'].containing_oneof = _NUMBERDATAPOINT.oneofs_by_name['value'] +_NUMBERDATAPOINT.oneofs_by_name['value'].fields.append( + _NUMBERDATAPOINT.fields_by_name['as_int']) +_NUMBERDATAPOINT.fields_by_name['as_int'].containing_oneof = _NUMBERDATAPOINT.oneofs_by_name['value'] +_HISTOGRAMDATAPOINT.fields_by_name['attributes'].message_type = opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2._KEYVALUE +_HISTOGRAMDATAPOINT.fields_by_name['exemplars'].message_type = _EXEMPLAR +_HISTOGRAMDATAPOINT.oneofs_by_name['_sum'].fields.append( + _HISTOGRAMDATAPOINT.fields_by_name['sum']) +_HISTOGRAMDATAPOINT.fields_by_name['sum'].containing_oneof = _HISTOGRAMDATAPOINT.oneofs_by_name['_sum'] +_HISTOGRAMDATAPOINT.oneofs_by_name['_min'].fields.append( + _HISTOGRAMDATAPOINT.fields_by_name['min']) +_HISTOGRAMDATAPOINT.fields_by_name['min'].containing_oneof = _HISTOGRAMDATAPOINT.oneofs_by_name['_min'] +_HISTOGRAMDATAPOINT.oneofs_by_name['_max'].fields.append( + _HISTOGRAMDATAPOINT.fields_by_name['max']) +_HISTOGRAMDATAPOINT.fields_by_name['max'].containing_oneof = _HISTOGRAMDATAPOINT.oneofs_by_name['_max'] +_EXPONENTIALHISTOGRAMDATAPOINT_BUCKETS.containing_type = _EXPONENTIALHISTOGRAMDATAPOINT +_EXPONENTIALHISTOGRAMDATAPOINT.fields_by_name['attributes'].message_type = opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2._KEYVALUE +_EXPONENTIALHISTOGRAMDATAPOINT.fields_by_name['positive'].message_type = _EXPONENTIALHISTOGRAMDATAPOINT_BUCKETS +_EXPONENTIALHISTOGRAMDATAPOINT.fields_by_name['negative'].message_type = _EXPONENTIALHISTOGRAMDATAPOINT_BUCKETS +_EXPONENTIALHISTOGRAMDATAPOINT.fields_by_name['exemplars'].message_type = _EXEMPLAR +_EXPONENTIALHISTOGRAMDATAPOINT.oneofs_by_name['_sum'].fields.append( + _EXPONENTIALHISTOGRAMDATAPOINT.fields_by_name['sum']) +_EXPONENTIALHISTOGRAMDATAPOINT.fields_by_name['sum'].containing_oneof = _EXPONENTIALHISTOGRAMDATAPOINT.oneofs_by_name['_sum'] +_EXPONENTIALHISTOGRAMDATAPOINT.oneofs_by_name['_min'].fields.append( + _EXPONENTIALHISTOGRAMDATAPOINT.fields_by_name['min']) +_EXPONENTIALHISTOGRAMDATAPOINT.fields_by_name['min'].containing_oneof = _EXPONENTIALHISTOGRAMDATAPOINT.oneofs_by_name['_min'] +_EXPONENTIALHISTOGRAMDATAPOINT.oneofs_by_name['_max'].fields.append( + _EXPONENTIALHISTOGRAMDATAPOINT.fields_by_name['max']) +_EXPONENTIALHISTOGRAMDATAPOINT.fields_by_name['max'].containing_oneof = _EXPONENTIALHISTOGRAMDATAPOINT.oneofs_by_name['_max'] +_SUMMARYDATAPOINT_VALUEATQUANTILE.containing_type = _SUMMARYDATAPOINT +_SUMMARYDATAPOINT.fields_by_name['attributes'].message_type = opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2._KEYVALUE +_SUMMARYDATAPOINT.fields_by_name['quantile_values'].message_type = _SUMMARYDATAPOINT_VALUEATQUANTILE +_EXEMPLAR.fields_by_name['filtered_attributes'].message_type = opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2._KEYVALUE +_EXEMPLAR.oneofs_by_name['value'].fields.append( + _EXEMPLAR.fields_by_name['as_double']) +_EXEMPLAR.fields_by_name['as_double'].containing_oneof = _EXEMPLAR.oneofs_by_name['value'] +_EXEMPLAR.oneofs_by_name['value'].fields.append( + _EXEMPLAR.fields_by_name['as_int']) +_EXEMPLAR.fields_by_name['as_int'].containing_oneof = _EXEMPLAR.oneofs_by_name['value'] +DESCRIPTOR.message_types_by_name['MetricsData'] = _METRICSDATA +DESCRIPTOR.message_types_by_name['ResourceMetrics'] = _RESOURCEMETRICS +DESCRIPTOR.message_types_by_name['ScopeMetrics'] = _SCOPEMETRICS +DESCRIPTOR.message_types_by_name['Metric'] = _METRIC +DESCRIPTOR.message_types_by_name['Gauge'] = _GAUGE +DESCRIPTOR.message_types_by_name['Sum'] = _SUM +DESCRIPTOR.message_types_by_name['Histogram'] = _HISTOGRAM +DESCRIPTOR.message_types_by_name['ExponentialHistogram'] = _EXPONENTIALHISTOGRAM +DESCRIPTOR.message_types_by_name['Summary'] = _SUMMARY +DESCRIPTOR.message_types_by_name['NumberDataPoint'] = _NUMBERDATAPOINT +DESCRIPTOR.message_types_by_name['HistogramDataPoint'] = _HISTOGRAMDATAPOINT +DESCRIPTOR.message_types_by_name['ExponentialHistogramDataPoint'] = _EXPONENTIALHISTOGRAMDATAPOINT +DESCRIPTOR.message_types_by_name['SummaryDataPoint'] = _SUMMARYDATAPOINT +DESCRIPTOR.message_types_by_name['Exemplar'] = _EXEMPLAR +DESCRIPTOR.enum_types_by_name['AggregationTemporality'] = _AGGREGATIONTEMPORALITY +DESCRIPTOR.enum_types_by_name['DataPointFlags'] = _DATAPOINTFLAGS +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +MetricsData = _reflection.GeneratedProtocolMessageType('MetricsData', (_message.Message,), { + 'DESCRIPTOR' : _METRICSDATA, + '__module__' : 'opentelemetry.proto.metrics.v1.metrics_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.metrics.v1.MetricsData) + }) +_sym_db.RegisterMessage(MetricsData) + +ResourceMetrics = _reflection.GeneratedProtocolMessageType('ResourceMetrics', (_message.Message,), { + 'DESCRIPTOR' : _RESOURCEMETRICS, + '__module__' : 'opentelemetry.proto.metrics.v1.metrics_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.metrics.v1.ResourceMetrics) + }) +_sym_db.RegisterMessage(ResourceMetrics) + +ScopeMetrics = _reflection.GeneratedProtocolMessageType('ScopeMetrics', (_message.Message,), { + 'DESCRIPTOR' : _SCOPEMETRICS, + '__module__' : 'opentelemetry.proto.metrics.v1.metrics_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.metrics.v1.ScopeMetrics) + }) +_sym_db.RegisterMessage(ScopeMetrics) + +Metric = _reflection.GeneratedProtocolMessageType('Metric', (_message.Message,), { + 'DESCRIPTOR' : _METRIC, + '__module__' : 'opentelemetry.proto.metrics.v1.metrics_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.metrics.v1.Metric) + }) +_sym_db.RegisterMessage(Metric) + +Gauge = _reflection.GeneratedProtocolMessageType('Gauge', (_message.Message,), { + 'DESCRIPTOR' : _GAUGE, + '__module__' : 'opentelemetry.proto.metrics.v1.metrics_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.metrics.v1.Gauge) + }) +_sym_db.RegisterMessage(Gauge) + +Sum = _reflection.GeneratedProtocolMessageType('Sum', (_message.Message,), { + 'DESCRIPTOR' : _SUM, + '__module__' : 'opentelemetry.proto.metrics.v1.metrics_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.metrics.v1.Sum) + }) +_sym_db.RegisterMessage(Sum) + +Histogram = _reflection.GeneratedProtocolMessageType('Histogram', (_message.Message,), { + 'DESCRIPTOR' : _HISTOGRAM, + '__module__' : 'opentelemetry.proto.metrics.v1.metrics_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.metrics.v1.Histogram) + }) +_sym_db.RegisterMessage(Histogram) + +ExponentialHistogram = _reflection.GeneratedProtocolMessageType('ExponentialHistogram', (_message.Message,), { + 'DESCRIPTOR' : _EXPONENTIALHISTOGRAM, + '__module__' : 'opentelemetry.proto.metrics.v1.metrics_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.metrics.v1.ExponentialHistogram) + }) +_sym_db.RegisterMessage(ExponentialHistogram) + +Summary = _reflection.GeneratedProtocolMessageType('Summary', (_message.Message,), { + 'DESCRIPTOR' : _SUMMARY, + '__module__' : 'opentelemetry.proto.metrics.v1.metrics_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.metrics.v1.Summary) + }) +_sym_db.RegisterMessage(Summary) + +NumberDataPoint = _reflection.GeneratedProtocolMessageType('NumberDataPoint', (_message.Message,), { + 'DESCRIPTOR' : _NUMBERDATAPOINT, + '__module__' : 'opentelemetry.proto.metrics.v1.metrics_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.metrics.v1.NumberDataPoint) + }) +_sym_db.RegisterMessage(NumberDataPoint) + +HistogramDataPoint = _reflection.GeneratedProtocolMessageType('HistogramDataPoint', (_message.Message,), { + 'DESCRIPTOR' : _HISTOGRAMDATAPOINT, + '__module__' : 'opentelemetry.proto.metrics.v1.metrics_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.metrics.v1.HistogramDataPoint) + }) +_sym_db.RegisterMessage(HistogramDataPoint) + +ExponentialHistogramDataPoint = _reflection.GeneratedProtocolMessageType('ExponentialHistogramDataPoint', (_message.Message,), { + + 'Buckets' : _reflection.GeneratedProtocolMessageType('Buckets', (_message.Message,), { + 'DESCRIPTOR' : _EXPONENTIALHISTOGRAMDATAPOINT_BUCKETS, + '__module__' : 'opentelemetry.proto.metrics.v1.metrics_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint.Buckets) + }) + , + 'DESCRIPTOR' : _EXPONENTIALHISTOGRAMDATAPOINT, + '__module__' : 'opentelemetry.proto.metrics.v1.metrics_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.metrics.v1.ExponentialHistogramDataPoint) + }) +_sym_db.RegisterMessage(ExponentialHistogramDataPoint) +_sym_db.RegisterMessage(ExponentialHistogramDataPoint.Buckets) + +SummaryDataPoint = _reflection.GeneratedProtocolMessageType('SummaryDataPoint', (_message.Message,), { + + 'ValueAtQuantile' : _reflection.GeneratedProtocolMessageType('ValueAtQuantile', (_message.Message,), { + 'DESCRIPTOR' : _SUMMARYDATAPOINT_VALUEATQUANTILE, + '__module__' : 'opentelemetry.proto.metrics.v1.metrics_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.metrics.v1.SummaryDataPoint.ValueAtQuantile) + }) + , + 'DESCRIPTOR' : _SUMMARYDATAPOINT, + '__module__' : 'opentelemetry.proto.metrics.v1.metrics_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.metrics.v1.SummaryDataPoint) + }) +_sym_db.RegisterMessage(SummaryDataPoint) +_sym_db.RegisterMessage(SummaryDataPoint.ValueAtQuantile) + +Exemplar = _reflection.GeneratedProtocolMessageType('Exemplar', (_message.Message,), { + 'DESCRIPTOR' : _EXEMPLAR, + '__module__' : 'opentelemetry.proto.metrics.v1.metrics_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.metrics.v1.Exemplar) + }) +_sym_db.RegisterMessage(Exemplar) + + +DESCRIPTOR._options = None +# @@protoc_insertion_point(module_scope) diff --git a/scalyr_agent/third_party/opentelemetry/proto/resource/__init__.py b/scalyr_agent/third_party/opentelemetry/proto/resource/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/resource/v1/__init__.py b/scalyr_agent/third_party/opentelemetry/proto/resource/v1/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/resource/v1/resource_pb2.py b/scalyr_agent/third_party/opentelemetry/proto/resource/v1/resource_pb2.py new file mode 100644 index 0000000000..0ce0633a9b --- /dev/null +++ b/scalyr_agent/third_party/opentelemetry/proto/resource/v1/resource_pb2.py @@ -0,0 +1,81 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: opentelemetry/proto/resource/v1/resource.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from opentelemetry.proto.common.v1 import common_pb2 as opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='opentelemetry/proto/resource/v1/resource.proto', + package='opentelemetry.proto.resource.v1', + syntax='proto3', + serialized_options=b'\n\"io.opentelemetry.proto.resource.v1B\rResourceProtoP\001Z*go.opentelemetry.io/proto/otlp/resource/v1\252\002\037OpenTelemetry.Proto.Resource.V1', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n.opentelemetry/proto/resource/v1/resource.proto\x12\x1fopentelemetry.proto.resource.v1\x1a*opentelemetry/proto/common/v1/common.proto\"i\n\x08Resource\x12;\n\nattributes\x18\x01 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x02 \x01(\rB\x83\x01\n\"io.opentelemetry.proto.resource.v1B\rResourceProtoP\x01Z*go.opentelemetry.io/proto/otlp/resource/v1\xaa\x02\x1fOpenTelemetry.Proto.Resource.V1b\x06proto3' + , + dependencies=[opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2.DESCRIPTOR,]) + + + + +_RESOURCE = _descriptor.Descriptor( + name='Resource', + full_name='opentelemetry.proto.resource.v1.Resource', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='attributes', full_name='opentelemetry.proto.resource.v1.Resource.attributes', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dropped_attributes_count', full_name='opentelemetry.proto.resource.v1.Resource.dropped_attributes_count', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=127, + serialized_end=232, +) + +_RESOURCE.fields_by_name['attributes'].message_type = opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2._KEYVALUE +DESCRIPTOR.message_types_by_name['Resource'] = _RESOURCE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +Resource = _reflection.GeneratedProtocolMessageType('Resource', (_message.Message,), { + 'DESCRIPTOR' : _RESOURCE, + '__module__' : 'opentelemetry.proto.resource.v1.resource_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.resource.v1.Resource) + }) +_sym_db.RegisterMessage(Resource) + + +DESCRIPTOR._options = None +# @@protoc_insertion_point(module_scope) diff --git a/scalyr_agent/third_party/opentelemetry/proto/trace/__init__.py b/scalyr_agent/third_party/opentelemetry/proto/trace/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/trace/v1/__init__.py b/scalyr_agent/third_party/opentelemetry/proto/trace/v1/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scalyr_agent/third_party/opentelemetry/proto/trace/v1/trace_pb2.py b/scalyr_agent/third_party/opentelemetry/proto/trace/v1/trace_pb2.py new file mode 100644 index 0000000000..3252ae3456 --- /dev/null +++ b/scalyr_agent/third_party/opentelemetry/proto/trace/v1/trace_pb2.py @@ -0,0 +1,644 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: opentelemetry/proto/trace/v1/trace.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from opentelemetry.proto.common.v1 import common_pb2 as opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2 +from opentelemetry.proto.resource.v1 import resource_pb2 as opentelemetry_dot_proto_dot_resource_dot_v1_dot_resource__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='opentelemetry/proto/trace/v1/trace.proto', + package='opentelemetry.proto.trace.v1', + syntax='proto3', + serialized_options=b'\n\037io.opentelemetry.proto.trace.v1B\nTraceProtoP\001Z\'go.opentelemetry.io/proto/otlp/trace/v1\252\002\034OpenTelemetry.Proto.Trace.V1', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n(opentelemetry/proto/trace/v1/trace.proto\x12\x1copentelemetry.proto.trace.v1\x1a*opentelemetry/proto/common/v1/common.proto\x1a.opentelemetry/proto/resource/v1/resource.proto\"Q\n\nTracesData\x12\x43\n\x0eresource_spans\x18\x01 \x03(\x0b\x32+.opentelemetry.proto.trace.v1.ResourceSpans\"\xa7\x01\n\rResourceSpans\x12;\n\x08resource\x18\x01 \x01(\x0b\x32).opentelemetry.proto.resource.v1.Resource\x12=\n\x0bscope_spans\x18\x02 \x03(\x0b\x32(.opentelemetry.proto.trace.v1.ScopeSpans\x12\x12\n\nschema_url\x18\x03 \x01(\tJ\x06\x08\xe8\x07\x10\xe9\x07\"\x97\x01\n\nScopeSpans\x12\x42\n\x05scope\x18\x01 \x01(\x0b\x32\x33.opentelemetry.proto.common.v1.InstrumentationScope\x12\x31\n\x05spans\x18\x02 \x03(\x0b\x32\".opentelemetry.proto.trace.v1.Span\x12\x12\n\nschema_url\x18\x03 \x01(\t\"\x84\x08\n\x04Span\x12\x10\n\x08trace_id\x18\x01 \x01(\x0c\x12\x0f\n\x07span_id\x18\x02 \x01(\x0c\x12\x13\n\x0btrace_state\x18\x03 \x01(\t\x12\x16\n\x0eparent_span_id\x18\x04 \x01(\x0c\x12\r\n\x05\x66lags\x18\x10 \x01(\x07\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x39\n\x04kind\x18\x06 \x01(\x0e\x32+.opentelemetry.proto.trace.v1.Span.SpanKind\x12\x1c\n\x14start_time_unix_nano\x18\x07 \x01(\x06\x12\x1a\n\x12\x65nd_time_unix_nano\x18\x08 \x01(\x06\x12;\n\nattributes\x18\t \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\n \x01(\r\x12\x38\n\x06\x65vents\x18\x0b \x03(\x0b\x32(.opentelemetry.proto.trace.v1.Span.Event\x12\x1c\n\x14\x64ropped_events_count\x18\x0c \x01(\r\x12\x36\n\x05links\x18\r \x03(\x0b\x32\'.opentelemetry.proto.trace.v1.Span.Link\x12\x1b\n\x13\x64ropped_links_count\x18\x0e \x01(\r\x12\x34\n\x06status\x18\x0f \x01(\x0b\x32$.opentelemetry.proto.trace.v1.Status\x1a\x8c\x01\n\x05\x45vent\x12\x16\n\x0etime_unix_nano\x18\x01 \x01(\x06\x12\x0c\n\x04name\x18\x02 \x01(\t\x12;\n\nattributes\x18\x03 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x04 \x01(\r\x1a\xac\x01\n\x04Link\x12\x10\n\x08trace_id\x18\x01 \x01(\x0c\x12\x0f\n\x07span_id\x18\x02 \x01(\x0c\x12\x13\n\x0btrace_state\x18\x03 \x01(\t\x12;\n\nattributes\x18\x04 \x03(\x0b\x32\'.opentelemetry.proto.common.v1.KeyValue\x12 \n\x18\x64ropped_attributes_count\x18\x05 \x01(\r\x12\r\n\x05\x66lags\x18\x06 \x01(\x07\"\x99\x01\n\x08SpanKind\x12\x19\n\x15SPAN_KIND_UNSPECIFIED\x10\x00\x12\x16\n\x12SPAN_KIND_INTERNAL\x10\x01\x12\x14\n\x10SPAN_KIND_SERVER\x10\x02\x12\x14\n\x10SPAN_KIND_CLIENT\x10\x03\x12\x16\n\x12SPAN_KIND_PRODUCER\x10\x04\x12\x16\n\x12SPAN_KIND_CONSUMER\x10\x05\"\xae\x01\n\x06Status\x12\x0f\n\x07message\x18\x02 \x01(\t\x12=\n\x04\x63ode\x18\x03 \x01(\x0e\x32/.opentelemetry.proto.trace.v1.Status.StatusCode\"N\n\nStatusCode\x12\x15\n\x11STATUS_CODE_UNSET\x10\x00\x12\x12\n\x0eSTATUS_CODE_OK\x10\x01\x12\x15\n\x11STATUS_CODE_ERROR\x10\x02J\x04\x08\x01\x10\x02*\x9c\x01\n\tSpanFlags\x12\x19\n\x15SPAN_FLAGS_DO_NOT_USE\x10\x00\x12 \n\x1bSPAN_FLAGS_TRACE_FLAGS_MASK\x10\xff\x01\x12*\n%SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK\x10\x80\x02\x12&\n!SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK\x10\x80\x04\x42w\n\x1fio.opentelemetry.proto.trace.v1B\nTraceProtoP\x01Z\'go.opentelemetry.io/proto/otlp/trace/v1\xaa\x02\x1cOpenTelemetry.Proto.Trace.V1b\x06proto3' + , + dependencies=[opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2.DESCRIPTOR,opentelemetry_dot_proto_dot_resource_dot_v1_dot_resource__pb2.DESCRIPTOR,]) + +_SPANFLAGS = _descriptor.EnumDescriptor( + name='SpanFlags', + full_name='opentelemetry.proto.trace.v1.SpanFlags', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='SPAN_FLAGS_DO_NOT_USE', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SPAN_FLAGS_TRACE_FLAGS_MASK', index=1, number=255, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK', index=2, number=256, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK', index=3, number=512, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=1782, + serialized_end=1938, +) +_sym_db.RegisterEnumDescriptor(_SPANFLAGS) + +SpanFlags = enum_type_wrapper.EnumTypeWrapper(_SPANFLAGS) +SPAN_FLAGS_DO_NOT_USE = 0 +SPAN_FLAGS_TRACE_FLAGS_MASK = 255 +SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK = 256 +SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK = 512 + + +_SPAN_SPANKIND = _descriptor.EnumDescriptor( + name='SpanKind', + full_name='opentelemetry.proto.trace.v1.Span.SpanKind', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='SPAN_KIND_UNSPECIFIED', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SPAN_KIND_INTERNAL', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SPAN_KIND_SERVER', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SPAN_KIND_CLIENT', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SPAN_KIND_PRODUCER', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SPAN_KIND_CONSUMER', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=1449, + serialized_end=1602, +) +_sym_db.RegisterEnumDescriptor(_SPAN_SPANKIND) + +_STATUS_STATUSCODE = _descriptor.EnumDescriptor( + name='StatusCode', + full_name='opentelemetry.proto.trace.v1.Status.StatusCode', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='STATUS_CODE_UNSET', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='STATUS_CODE_OK', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='STATUS_CODE_ERROR', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=1695, + serialized_end=1773, +) +_sym_db.RegisterEnumDescriptor(_STATUS_STATUSCODE) + + +_TRACESDATA = _descriptor.Descriptor( + name='TracesData', + full_name='opentelemetry.proto.trace.v1.TracesData', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='resource_spans', full_name='opentelemetry.proto.trace.v1.TracesData.resource_spans', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=166, + serialized_end=247, +) + + +_RESOURCESPANS = _descriptor.Descriptor( + name='ResourceSpans', + full_name='opentelemetry.proto.trace.v1.ResourceSpans', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='resource', full_name='opentelemetry.proto.trace.v1.ResourceSpans.resource', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='scope_spans', full_name='opentelemetry.proto.trace.v1.ResourceSpans.scope_spans', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='schema_url', full_name='opentelemetry.proto.trace.v1.ResourceSpans.schema_url', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=250, + serialized_end=417, +) + + +_SCOPESPANS = _descriptor.Descriptor( + name='ScopeSpans', + full_name='opentelemetry.proto.trace.v1.ScopeSpans', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='scope', full_name='opentelemetry.proto.trace.v1.ScopeSpans.scope', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='spans', full_name='opentelemetry.proto.trace.v1.ScopeSpans.spans', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='schema_url', full_name='opentelemetry.proto.trace.v1.ScopeSpans.schema_url', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=420, + serialized_end=571, +) + + +_SPAN_EVENT = _descriptor.Descriptor( + name='Event', + full_name='opentelemetry.proto.trace.v1.Span.Event', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='time_unix_nano', full_name='opentelemetry.proto.trace.v1.Span.Event.time_unix_nano', index=0, + number=1, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='name', full_name='opentelemetry.proto.trace.v1.Span.Event.name', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='attributes', full_name='opentelemetry.proto.trace.v1.Span.Event.attributes', index=2, + number=3, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dropped_attributes_count', full_name='opentelemetry.proto.trace.v1.Span.Event.dropped_attributes_count', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1131, + serialized_end=1271, +) + +_SPAN_LINK = _descriptor.Descriptor( + name='Link', + full_name='opentelemetry.proto.trace.v1.Span.Link', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='trace_id', full_name='opentelemetry.proto.trace.v1.Span.Link.trace_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='span_id', full_name='opentelemetry.proto.trace.v1.Span.Link.span_id', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='trace_state', full_name='opentelemetry.proto.trace.v1.Span.Link.trace_state', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='attributes', full_name='opentelemetry.proto.trace.v1.Span.Link.attributes', index=3, + number=4, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dropped_attributes_count', full_name='opentelemetry.proto.trace.v1.Span.Link.dropped_attributes_count', index=4, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='flags', full_name='opentelemetry.proto.trace.v1.Span.Link.flags', index=5, + number=6, type=7, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1274, + serialized_end=1446, +) + +_SPAN = _descriptor.Descriptor( + name='Span', + full_name='opentelemetry.proto.trace.v1.Span', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='trace_id', full_name='opentelemetry.proto.trace.v1.Span.trace_id', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='span_id', full_name='opentelemetry.proto.trace.v1.Span.span_id', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='trace_state', full_name='opentelemetry.proto.trace.v1.Span.trace_state', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='parent_span_id', full_name='opentelemetry.proto.trace.v1.Span.parent_span_id', index=3, + number=4, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=b"", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='flags', full_name='opentelemetry.proto.trace.v1.Span.flags', index=4, + number=16, type=7, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='name', full_name='opentelemetry.proto.trace.v1.Span.name', index=5, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='kind', full_name='opentelemetry.proto.trace.v1.Span.kind', index=6, + number=6, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='start_time_unix_nano', full_name='opentelemetry.proto.trace.v1.Span.start_time_unix_nano', index=7, + number=7, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='end_time_unix_nano', full_name='opentelemetry.proto.trace.v1.Span.end_time_unix_nano', index=8, + number=8, type=6, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='attributes', full_name='opentelemetry.proto.trace.v1.Span.attributes', index=9, + number=9, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dropped_attributes_count', full_name='opentelemetry.proto.trace.v1.Span.dropped_attributes_count', index=10, + number=10, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='events', full_name='opentelemetry.proto.trace.v1.Span.events', index=11, + number=11, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dropped_events_count', full_name='opentelemetry.proto.trace.v1.Span.dropped_events_count', index=12, + number=12, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='links', full_name='opentelemetry.proto.trace.v1.Span.links', index=13, + number=13, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dropped_links_count', full_name='opentelemetry.proto.trace.v1.Span.dropped_links_count', index=14, + number=14, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='status', full_name='opentelemetry.proto.trace.v1.Span.status', index=15, + number=15, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_SPAN_EVENT, _SPAN_LINK, ], + enum_types=[ + _SPAN_SPANKIND, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=574, + serialized_end=1602, +) + + +_STATUS = _descriptor.Descriptor( + name='Status', + full_name='opentelemetry.proto.trace.v1.Status', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='message', full_name='opentelemetry.proto.trace.v1.Status.message', index=0, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='code', full_name='opentelemetry.proto.trace.v1.Status.code', index=1, + number=3, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _STATUS_STATUSCODE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1605, + serialized_end=1779, +) + +_TRACESDATA.fields_by_name['resource_spans'].message_type = _RESOURCESPANS +_RESOURCESPANS.fields_by_name['resource'].message_type = opentelemetry_dot_proto_dot_resource_dot_v1_dot_resource__pb2._RESOURCE +_RESOURCESPANS.fields_by_name['scope_spans'].message_type = _SCOPESPANS +_SCOPESPANS.fields_by_name['scope'].message_type = opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2._INSTRUMENTATIONSCOPE +_SCOPESPANS.fields_by_name['spans'].message_type = _SPAN +_SPAN_EVENT.fields_by_name['attributes'].message_type = opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2._KEYVALUE +_SPAN_EVENT.containing_type = _SPAN +_SPAN_LINK.fields_by_name['attributes'].message_type = opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2._KEYVALUE +_SPAN_LINK.containing_type = _SPAN +_SPAN.fields_by_name['kind'].enum_type = _SPAN_SPANKIND +_SPAN.fields_by_name['attributes'].message_type = opentelemetry_dot_proto_dot_common_dot_v1_dot_common__pb2._KEYVALUE +_SPAN.fields_by_name['events'].message_type = _SPAN_EVENT +_SPAN.fields_by_name['links'].message_type = _SPAN_LINK +_SPAN.fields_by_name['status'].message_type = _STATUS +_SPAN_SPANKIND.containing_type = _SPAN +_STATUS.fields_by_name['code'].enum_type = _STATUS_STATUSCODE +_STATUS_STATUSCODE.containing_type = _STATUS +DESCRIPTOR.message_types_by_name['TracesData'] = _TRACESDATA +DESCRIPTOR.message_types_by_name['ResourceSpans'] = _RESOURCESPANS +DESCRIPTOR.message_types_by_name['ScopeSpans'] = _SCOPESPANS +DESCRIPTOR.message_types_by_name['Span'] = _SPAN +DESCRIPTOR.message_types_by_name['Status'] = _STATUS +DESCRIPTOR.enum_types_by_name['SpanFlags'] = _SPANFLAGS +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +TracesData = _reflection.GeneratedProtocolMessageType('TracesData', (_message.Message,), { + 'DESCRIPTOR' : _TRACESDATA, + '__module__' : 'opentelemetry.proto.trace.v1.trace_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.trace.v1.TracesData) + }) +_sym_db.RegisterMessage(TracesData) + +ResourceSpans = _reflection.GeneratedProtocolMessageType('ResourceSpans', (_message.Message,), { + 'DESCRIPTOR' : _RESOURCESPANS, + '__module__' : 'opentelemetry.proto.trace.v1.trace_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.trace.v1.ResourceSpans) + }) +_sym_db.RegisterMessage(ResourceSpans) + +ScopeSpans = _reflection.GeneratedProtocolMessageType('ScopeSpans', (_message.Message,), { + 'DESCRIPTOR' : _SCOPESPANS, + '__module__' : 'opentelemetry.proto.trace.v1.trace_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.trace.v1.ScopeSpans) + }) +_sym_db.RegisterMessage(ScopeSpans) + +Span = _reflection.GeneratedProtocolMessageType('Span', (_message.Message,), { + + 'Event' : _reflection.GeneratedProtocolMessageType('Event', (_message.Message,), { + 'DESCRIPTOR' : _SPAN_EVENT, + '__module__' : 'opentelemetry.proto.trace.v1.trace_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.trace.v1.Span.Event) + }) + , + + 'Link' : _reflection.GeneratedProtocolMessageType('Link', (_message.Message,), { + 'DESCRIPTOR' : _SPAN_LINK, + '__module__' : 'opentelemetry.proto.trace.v1.trace_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.trace.v1.Span.Link) + }) + , + 'DESCRIPTOR' : _SPAN, + '__module__' : 'opentelemetry.proto.trace.v1.trace_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.trace.v1.Span) + }) +_sym_db.RegisterMessage(Span) +_sym_db.RegisterMessage(Span.Event) +_sym_db.RegisterMessage(Span.Link) + +Status = _reflection.GeneratedProtocolMessageType('Status', (_message.Message,), { + 'DESCRIPTOR' : _STATUS, + '__module__' : 'opentelemetry.proto.trace.v1.trace_pb2' + # @@protoc_insertion_point(class_scope:opentelemetry.proto.trace.v1.Status) + }) +_sym_db.RegisterMessage(Status) + + +DESCRIPTOR._options = None +# @@protoc_insertion_point(module_scope) diff --git a/scalyr_agent/util.py b/scalyr_agent/util.py index a571058bc4..caf55b41e3 100644 --- a/scalyr_agent/util.py +++ b/scalyr_agent/util.py @@ -34,6 +34,7 @@ from typing import IO import codecs +import platform import sys import ssl import locale @@ -756,6 +757,150 @@ def get_parser_from_config(base_config, attributes, default_parser): # if we are here, then we found nothing so return the default return default_parser +def get_user_agent( + agent_version, use_requests=False, fragments=None, sessions_api_keys_tuple=None + ): + """Determine the user agent to report in the request headers. + + We construct an agent that gives Scalyr some information about the platform the customer is running on, + the Python version, and a few other tidbits. This is used to make decisions about support issues. + + @param agent_version: The agent version number. + @param fragments: Additional strings to be appended. Each will be preceded by a semicolon + @type agent_version: six.text_type + @type fragments: List of six.text_type + + @return: The user agent string. + @rtype: six.text_type + """ + # We will construct our agent string to look something like: + # Linux-redhat-7.0;python-2.7.2;agent-2.0.1;ssllib + # And for requests using requests library: + # Linux-redhat-7.0;python-2.7.2;agent-2.0.1;ssllib;requests-2.22.0 + + python_version = sys.version_info + if len(python_version) >= 5: + python_version_str = "python-%s.%s.%s" % ( + python_version[0], + python_version[1], + python_version[2], + ) + else: + python_version_str = "python-unknown" + + # Try for a linux distribution first. This doesn't seem to work for Amazon AMIs, but for most + # distributions it hopefully will provide something readable. + platform_value = None + # noinspection PyBroadException + try: + distribution = platform.dist() # pylint: disable=no-member + if len(distribution[0]) > 0: + platform_value = "Linux-%s-%s" % (distribution[0], distribution[1]) + except Exception: + platform_value = None + + # Try Mac + if platform_value is None: + # noinspection PyBroadException + try: + mac_ver = platform.mac_ver()[0] + if len(mac_ver) > 0: + platform_value = "MacOS-%s" % mac_ver + except Exception: + platform_value = None + + # Fall back for all others. This should print out something reasonable for + # Windows. + if platform_value is None: + platform_value = platform.platform(terse=1) + + # Include openssl version if available + # Returns a tuple like this: (1, 1, 1, 8, 15) + openssl_version = getattr(ssl, "OPENSSL_VERSION_INFO", None) + if openssl_version: + try: + openssl_version_string = ( + ".".join([str(v) for v in openssl_version[:3]]) + + "-" + + str(openssl_version[3]) + ) + openssl_version_string = "o-%s" % (openssl_version_string) + except Exception: + openssl_version_string = None + else: + openssl_version_string = None + + # Include a string which indicates if the agent is running admin / root user + from scalyr_agent.platform_controller import PlatformController + + try: + platform_controller = PlatformController.new_platform() + current_user = platform_controller.get_current_user() + except Exception: + # In some tests on Windows this can throw inside the tests so we ignore the error + current_user = "unknown" + + if current_user in ["root", "Administrator"] or current_user.endswith( + "\\Administrators" + ): + # Indicates agent running as a privileged / admin user + user_string = "a-1" + else: + # Indicates agent running as a regular user + user_string = "a-0" + + sharded_copy_manager_string = "" + + # Possible values for this header fragment: + # mw-0 - Sharded copy manager functionality is disabled + # mw-1|| - Functionality is enabled and there are + # thread based sessions configured with unique API keys. + # mw-2|| - Functionality is enabled and there are + # process based sessions configured with unique API keys. + if ( + sessions_api_keys_tuple + and isinstance(sessions_api_keys_tuple, tuple) + and len(sessions_api_keys_tuple) == 3 + and sessions_api_keys_tuple[1] > 1 + ): + ( + worker_type, + workers_count, + api_keys_count, + ) = sessions_api_keys_tuple + + if worker_type == "multiprocess": + sharded_copy_manager_string = "mw-2|" + else: + sharded_copy_manager_string = "mw-1|" + + sharded_copy_manager_string += "%s|%s" % (workers_count, api_keys_count) + else: + sharded_copy_manager_string = "mw-0" + + parts = [ + platform_value, + python_version_str, + "agent-%s" % agent_version, + ] + + if openssl_version_string: + parts.append(openssl_version_string) + + if user_string: + parts.append(user_string) + + if sharded_copy_manager_string: + parts.append(sharded_copy_manager_string) + + if use_requests: + import requests + + parts.append("requests-%s" % (requests.__version__)) + + if fragments: + parts.extend(fragments) + return ";".join(map(six.text_type, parts)) def get_web_url_from_upload_url(server): server = server.replace("https://agent.", "https://www.") @@ -813,6 +958,41 @@ def parse_data_rate_string(value): return value raise ValueError("Could not parse data rate string '%s'" % value) +def wrap_response_if_necessary(status_message, bytes_sent, response, block_on_response): + """Wraps the response as appropriate based on whether or not the caller is expecting to block on the + response or not. + + If the caller requested to not block on the response, then they are expecting a function to be returned + that, when invoked, will block and return the result. If the caller did requested to block on the response, + then the response should be returned directly. + + This is used to cover cases where there was an error and we do not have to block on the response from + the server. Instead, we already have the response to return. However, we still need to return the + right type of object to the caller. + + @param status_message: The status message for the response. + @param bytes_sent: The number of bytes that were sent. + @param response: The response to return. + @param block_on_response: Whether or not the caller requested to block, waiting for the response. This controls + whether or not a function is returned or just the response tuple directly. + + @type status_message: str + @type bytes_sent: int + @type response: str + @type block_on_response: bool + + @return: Either a func or a response tuple (status message, num of bytes sent, response body) depending on + the value of ``block_on_response``. + @rtype: func or (str, int, str) + """ + if block_on_response: + return status_message, bytes_sent, response + + def wrap(): + return status_message, bytes_sent, response + + return wrap + class JsonReadFileException(Exception): """Raised when a failure occurs when reading a file as a JSON object.""" diff --git a/tests/unit/configuration_test.py b/tests/unit/configuration_test.py index 3f64305e81..944d7426bb 100644 --- a/tests/unit/configuration_test.py +++ b/tests/unit/configuration_test.py @@ -767,6 +767,41 @@ def test_no_http_proxy(self): config.parse() self.assertEqual(config.network_proxies, {"https": "https://bar.com"}) + # Validate oauth settings and that a change of our transport doesn't need api_key set + def test_oauth_transport(self): + self._write_file_with_separator_conversion( + """ { + transport: "otlp", + auth: "oauth2", + oauth_client_id: "a", + oauth_client_secret: "b", + oauth_token_url: "c", + oauth_scopes: [], + } + """ + ) + config = self._create_test_configuration_instance() + config.parse() + self.assertEqual(config.auth, "oauth2") + self.assertEqual(config.oauth_client_id, "a") + self.assertEqual(config.oauth_client_secret, "b") + self.assertEqual(config.oauth_token_url, "c") + self.assertEqual(config.oauth_scopes, JsonArray()) + + def test_transport(self): + self._write_file_with_separator_conversion( + """ { + transport: "otlp", + server_url: "a", + } + """ + ) + config = self._create_test_configuration_instance() + config.parse() + self.assertEqual(config.transport, "otlp") + self.assertEqual(config.server_url, "a") + + @skipIf(sys.platform.startswith("win"), "Skipping test on Windows") @mock.patch("scalyr_agent.util.read_config_file_as_json") def test_parse_incorrect_file_permissions_or_owner( diff --git a/tests/unit/scalyr_client_test.py b/tests/unit/scalyr_client_test.py index cff1f90d94..02e0271588 100644 --- a/tests/unit/scalyr_client_test.py +++ b/tests/unit/scalyr_client_test.py @@ -1017,7 +1017,7 @@ def get_user_agent(): @skipIf(sys.version_info < (3, 7), "Only for Python >= 3.7") def test_get_user_agent_includes_requests_version(self): - scalyr_agent.scalyr_client.ssl.OPENSSL_VERSION_INFO = (1, 0, 2, 13, 13) + scalyr_agent.util.ssl.OPENSSL_VERSION_INFO = (1, 0, 2, 13, 13) # without requests session = ScalyrClientSession(