From 7fa34da5e3585ec2b75b1b9c883f786fba8592e2 Mon Sep 17 00:00:00 2001 From: Chris Kleinknecht Date: Tue, 17 Sep 2019 14:18:37 -0700 Subject: [PATCH 1/7] Add docparams extension, fix docs in API --- .pylintrc | 5 +++-- .../src/opentelemetry/context/base_context.py | 11 +++++------ .../src/opentelemetry/distributedcontext/__init__.py | 6 ++++++ opentelemetry-api/src/opentelemetry/trace/__init__.py | 10 ++++++++-- 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/.pylintrc b/.pylintrc index 8130305d70d..68d94f4e6f0 100644 --- a/.pylintrc +++ b/.pylintrc @@ -28,7 +28,7 @@ limit-inference-results=100 # List of plugins (as comma separated values of python modules names) to load, # usually to register additional checkers. -load-plugins= +load-plugins=pylint.extensions.docparams # Pickle collected data for later comparisons. persistent=yes @@ -68,7 +68,8 @@ disable=missing-docstring, ungrouped-imports, # Leave this up to isort wrong-import-order, # Leave this up to isort bad-continuation, # Leave this up to black - line-too-long # Leave this up to black + line-too-long, # Leave this up to black + missing-yield-type-doc # Use return type annotation instead # Enable the message, report, category or checker with the given id(s). You can # either give multiple identifier separated by comma (,) or put this option diff --git a/opentelemetry-api/src/opentelemetry/context/base_context.py b/opentelemetry-api/src/opentelemetry/context/base_context.py index f1e37aa91f4..7fe8da8a6cf 100644 --- a/opentelemetry-api/src/opentelemetry/context/base_context.py +++ b/opentelemetry-api/src/opentelemetry/context/base_context.py @@ -53,13 +53,12 @@ def register_slot( ) -> "BaseRuntimeContext.Slot": """Register a context slot with an optional default value. - :type name: str - :param name: The name of the context slot. + Args: + name: The name of the context slot. + default: The default value of the slot, can be a value or lambda. - :type default: object - :param name: The default value of the slot, can be a value or lambda. - - :returns: The registered slot. + Returns: + The registered slot. """ with cls._lock: if name not in cls._slots: diff --git a/opentelemetry-api/src/opentelemetry/distributedcontext/__init__.py b/opentelemetry-api/src/opentelemetry/distributedcontext/__init__.py index 38ef3739b90..aa5f24241dd 100644 --- a/opentelemetry-api/src/opentelemetry/distributedcontext/__init__.py +++ b/opentelemetry-api/src/opentelemetry/distributedcontext/__init__.py @@ -93,6 +93,9 @@ def get_entry_value(self, key: EntryKey) -> typing.Optional[EntryValue]: Args: key: the key with which to perform a lookup + + Returns: + The value of the entry associated with `key` """ if key in self._container: return self._container[key].value @@ -120,6 +123,9 @@ def use_context( Args: context: A DistributedContext instance to make current. + + Yields: + The current DistributedContext. """ # pylint: disable=no-self-use yield context diff --git a/opentelemetry-api/src/opentelemetry/trace/__init__.py b/opentelemetry-api/src/opentelemetry/trace/__init__.py index 2be60151af1..ccdf68d0139 100644 --- a/opentelemetry-api/src/opentelemetry/trace/__init__.py +++ b/opentelemetry-api/src/opentelemetry/trace/__init__.py @@ -251,8 +251,8 @@ class SpanContext: Args: trace_id: The ID of the trace that this span belongs to. span_id: This span's ID. - options: Trace options to propagate. - state: Tracing-system-specific info to propagate. + trace_options: Trace options to propagate. + trace_state: Tracing-system-specific info to propagate. """ def __init__( @@ -438,6 +438,9 @@ def use_span(self, span: "Span") -> typing.Iterator[None]: Args: span: The span to start and make current. + + Yields: + `None` """ # pylint: disable=unused-argument,no-self-use yield @@ -480,6 +483,9 @@ def set_preferred_tracer_implementation( Args: factory: Callback that should create a new :class:`Tracer` instance. + + Raises: + RuntimeError: On repeated attempts to load the tracer. """ global _TRACER_FACTORY # pylint:disable=global-statement From f477ff5831f7e91bb683c277be7a97f5399823d9 Mon Sep 17 00:00:00 2001 From: Chris Kleinknecht Date: Tue, 17 Sep 2019 14:24:39 -0700 Subject: [PATCH 2/7] Fix existing lint type errors in SDK --- .../opentelemetry/sdk/distributedcontext/__init__.py | 3 +++ .../src/opentelemetry/sdk/trace/__init__.py | 10 +++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/distributedcontext/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/distributedcontext/__init__.py index a20cbf89635..642a8d62125 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/distributedcontext/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/distributedcontext/__init__.py @@ -57,6 +57,9 @@ def use_context( Args: context: A DistributedContext instance to make current. + + Yields: + The current DistributedContext. """ snapshot = self._current_context.get() self._current_context.set(context) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py index 23f368955be..1314154497f 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py @@ -235,9 +235,9 @@ def __init__( name: str, context: "trace_api.SpanContext", parent: trace_api.ParentSpan = None, - sampler=None, # TODO - trace_config=None, # TODO - resource=None, # TODO + sampler: object = None, # TODO + trace_config: object = None, # TODO + resource: object = None, # TODO attributes: types.Attributes = None, # TODO events: typing.Sequence[trace_api.Event] = None, # TODO links: typing.Sequence[trace_api.Link] = None, # TODO @@ -363,7 +363,7 @@ def update_name(self, name: str) -> None: self.name = name -def generate_span_id(): +def generate_span_id() -> int: """Get a new random span ID. Returns: @@ -372,7 +372,7 @@ def generate_span_id(): return random.getrandbits(64) -def generate_trace_id(): +def generate_trace_id() -> int: """Get a new random trace ID. Returns: From b3ac74797c6063f8f22ba5be1f4a25b2feadab5c Mon Sep 17 00:00:00 2001 From: Chris Kleinknecht Date: Tue, 17 Sep 2019 14:43:19 -0700 Subject: [PATCH 3/7] Add docs, pylint exemptions to WSGI ext --- .../src/opentelemetry/ext/wsgi/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ext/opentelemetry-ext-wsgi/src/opentelemetry/ext/wsgi/__init__.py b/ext/opentelemetry-ext-wsgi/src/opentelemetry/ext/wsgi/__init__.py index 974a6998a87..3b5f4d9e710 100644 --- a/ext/opentelemetry-ext-wsgi/src/opentelemetry/ext/wsgi/__init__.py +++ b/ext/opentelemetry-ext-wsgi/src/opentelemetry/ext/wsgi/__init__.py @@ -33,8 +33,10 @@ class OpenTelemetryMiddleware: Args: wsgi: The WSGI application callable. + propagators: TODO """ + # pylint: disable=missing-type-doc def __init__(self, wsgi, propagators=None): self.wsgi = wsgi @@ -77,12 +79,16 @@ def _start_response(status, response_headers, *args, **kwargs): return _start_response + # pylint: disable=missing-type-doc def __call__(self, environ, start_response): """The WSGI application Args: environ: A WSGI environment. start_response: The WSGI start_response callable. + + Yields: + Zero or more strings that comprise the WSGI response. """ tracer = trace.tracer() From e49a645dde23552f8e03948b3fe0893211507880 Mon Sep 17 00:00:00 2001 From: Chris Kleinknecht Date: Tue, 17 Sep 2019 14:52:17 -0700 Subject: [PATCH 4/7] Restrict all lint checks to code, test dirs --- tox.ini | 42 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/tox.ini b/tox.ini index d0fb6cc2dc4..39f7fa772f3 100644 --- a/tox.ini +++ b/tox.ini @@ -73,18 +73,50 @@ commands_pre = commands = ; Prefer putting everything in one pylint command to profit from duplication ; warnings. - black --check --diff . - pylint opentelemetry-api/src/opentelemetry \ + black --check --diff \ + opentelemetry-api/src/opentelemetry \ opentelemetry-api/tests/ \ opentelemetry-sdk/src/opentelemetry \ opentelemetry-sdk/tests/ \ - ext/opentelemetry-ext-http-requests/src/ \ + ext/opentelemetry-ext-http-requests/src/opentelemetry/ \ ext/opentelemetry-ext-http-requests/tests/ \ + ext/opentelemetry-ext-wsgi/src/opentelemetry/ \ ext/opentelemetry-ext-wsgi/tests/ \ opentelemetry-example-app/src/opentelemetry_example_app/ \ opentelemetry-example-app/tests/ - flake8 . - isort --check-only --diff --recursive . + pylint \ + opentelemetry-api/src/opentelemetry \ + opentelemetry-api/tests/ \ + opentelemetry-sdk/src/opentelemetry \ + opentelemetry-sdk/tests/ \ + ext/opentelemetry-ext-http-requests/src/opentelemetry/ \ + ext/opentelemetry-ext-http-requests/tests/ \ + ext/opentelemetry-ext-wsgi/src/opentelemetry/ \ + ext/opentelemetry-ext-wsgi/tests/ \ + opentelemetry-example-app/src/opentelemetry_example_app/ \ + opentelemetry-example-app/tests/ + flake8 \ + opentelemetry-api/src/opentelemetry \ + opentelemetry-api/tests/ \ + opentelemetry-sdk/src/opentelemetry \ + opentelemetry-sdk/tests/ \ + ext/opentelemetry-ext-http-requests/src/opentelemetry/ \ + ext/opentelemetry-ext-http-requests/tests/ \ + ext/opentelemetry-ext-wsgi/src/opentelemetry/ \ + ext/opentelemetry-ext-wsgi/tests/ \ + opentelemetry-example-app/src/opentelemetry_example_app/ \ + opentelemetry-example-app/tests/ + isort --check-only --diff --recursive \ + opentelemetry-api/src/opentelemetry \ + opentelemetry-api/tests/ \ + opentelemetry-sdk/src/opentelemetry \ + opentelemetry-sdk/tests/ \ + ext/opentelemetry-ext-http-requests/src/opentelemetry/ \ + ext/opentelemetry-ext-http-requests/tests/ \ + ext/opentelemetry-ext-wsgi/src/opentelemetry/ \ + ext/opentelemetry-ext-wsgi/tests/ \ + opentelemetry-example-app/src/opentelemetry_example_app/ \ + opentelemetry-example-app/tests/ [testenv:docs] deps = From 9662917ce506dabd6b2f02ad75cd466a22525bea Mon Sep 17 00:00:00 2001 From: Chris Kleinknecht Date: Wed, 18 Sep 2019 10:56:48 -0700 Subject: [PATCH 5/7] Lint setup.py files, use 2-space toxfile indent --- ext/opentelemetry-ext-http-requests/setup.py | 1 + ext/opentelemetry-ext-wsgi/setup.py | 1 + opentelemetry-api/setup.py | 1 + opentelemetry-sdk/setup.py | 1 + tox.ini | 100 +++++++++++-------- 5 files changed, 64 insertions(+), 40 deletions(-) diff --git a/ext/opentelemetry-ext-http-requests/setup.py b/ext/opentelemetry-ext-http-requests/setup.py index 2f757e6cde4..e5d89049988 100644 --- a/ext/opentelemetry-ext-http-requests/setup.py +++ b/ext/opentelemetry-ext-http-requests/setup.py @@ -20,6 +20,7 @@ BASE_DIR, "src", "opentelemetry", "ext", "http_requests", "version.py" ) PACKAGE_INFO = {} +# pylint:disable=exec-used with open(VERSION_FILENAME) as f: exec(f.read(), PACKAGE_INFO) diff --git a/ext/opentelemetry-ext-wsgi/setup.py b/ext/opentelemetry-ext-wsgi/setup.py index 3f8ef9cc5fc..5c0b9047eb1 100644 --- a/ext/opentelemetry-ext-wsgi/setup.py +++ b/ext/opentelemetry-ext-wsgi/setup.py @@ -20,6 +20,7 @@ BASE_DIR, "src", "opentelemetry", "ext", "wsgi", "version.py" ) PACKAGE_INFO = {} +# pylint:disable=exec-used with open(VERSION_FILENAME) as f: exec(f.read(), PACKAGE_INFO) diff --git a/opentelemetry-api/setup.py b/opentelemetry-api/setup.py index eff8230fc27..130eb3d90f5 100644 --- a/opentelemetry-api/setup.py +++ b/opentelemetry-api/setup.py @@ -21,6 +21,7 @@ BASE_DIR, "src", "opentelemetry", "util", "version.py" ) PACKAGE_INFO = {} +# pylint:disable=exec-used with open(VERSION_FILENAME) as f: exec(f.read(), PACKAGE_INFO) diff --git a/opentelemetry-sdk/setup.py b/opentelemetry-sdk/setup.py index fabf97cb391..bb6f1fe76b3 100644 --- a/opentelemetry-sdk/setup.py +++ b/opentelemetry-sdk/setup.py @@ -21,6 +21,7 @@ BASE_DIR, "src", "opentelemetry", "sdk", "version.py" ) PACKAGE_INFO = {} +# pylint:disable=exec-used with open(VERSION_FILENAME) as f: exec(f.read(), PACKAGE_INFO) diff --git a/tox.ini b/tox.ini index 39f7fa772f3..8d59795ba6e 100644 --- a/tox.ini +++ b/tox.ini @@ -74,49 +74,69 @@ commands = ; Prefer putting everything in one pylint command to profit from duplication ; warnings. black --check --diff \ - opentelemetry-api/src/opentelemetry \ - opentelemetry-api/tests/ \ - opentelemetry-sdk/src/opentelemetry \ - opentelemetry-sdk/tests/ \ - ext/opentelemetry-ext-http-requests/src/opentelemetry/ \ - ext/opentelemetry-ext-http-requests/tests/ \ - ext/opentelemetry-ext-wsgi/src/opentelemetry/ \ - ext/opentelemetry-ext-wsgi/tests/ \ - opentelemetry-example-app/src/opentelemetry_example_app/ \ - opentelemetry-example-app/tests/ + opentelemetry-api/setup.py \ + opentelemetry-api/src/opentelemetry \ + opentelemetry-api/tests/ \ + opentelemetry-sdk/setup.py \ + opentelemetry-sdk/src/opentelemetry \ + opentelemetry-sdk/tests/ \ + ext/opentelemetry-ext-http-requests/setup.py \ + ext/opentelemetry-ext-http-requests/src/opentelemetry/ \ + ext/opentelemetry-ext-http-requests/tests/ \ + ext/opentelemetry-ext-wsgi/setup.py \ + ext/opentelemetry-ext-wsgi/src/opentelemetry/ \ + ext/opentelemetry-ext-wsgi/tests/ \ + opentelemetry-example-app/setup.py \ + opentelemetry-example-app/src/opentelemetry_example_app/ \ + opentelemetry-example-app/tests/ pylint \ - opentelemetry-api/src/opentelemetry \ - opentelemetry-api/tests/ \ - opentelemetry-sdk/src/opentelemetry \ - opentelemetry-sdk/tests/ \ - ext/opentelemetry-ext-http-requests/src/opentelemetry/ \ - ext/opentelemetry-ext-http-requests/tests/ \ - ext/opentelemetry-ext-wsgi/src/opentelemetry/ \ - ext/opentelemetry-ext-wsgi/tests/ \ - opentelemetry-example-app/src/opentelemetry_example_app/ \ - opentelemetry-example-app/tests/ + opentelemetry-api/setup.py \ + opentelemetry-api/src/opentelemetry \ + opentelemetry-api/tests/ \ + opentelemetry-sdk/setup.py \ + opentelemetry-sdk/src/opentelemetry \ + opentelemetry-sdk/tests/ \ + ext/opentelemetry-ext-http-requests/setup.py \ + ext/opentelemetry-ext-http-requests/src/opentelemetry/ \ + ext/opentelemetry-ext-http-requests/tests/ \ + ext/opentelemetry-ext-wsgi/setup.py \ + ext/opentelemetry-ext-wsgi/src/opentelemetry/ \ + ext/opentelemetry-ext-wsgi/tests/ \ + opentelemetry-example-app/setup.py \ + opentelemetry-example-app/src/opentelemetry_example_app/ \ + opentelemetry-example-app/tests/ flake8 \ - opentelemetry-api/src/opentelemetry \ - opentelemetry-api/tests/ \ - opentelemetry-sdk/src/opentelemetry \ - opentelemetry-sdk/tests/ \ - ext/opentelemetry-ext-http-requests/src/opentelemetry/ \ - ext/opentelemetry-ext-http-requests/tests/ \ - ext/opentelemetry-ext-wsgi/src/opentelemetry/ \ - ext/opentelemetry-ext-wsgi/tests/ \ - opentelemetry-example-app/src/opentelemetry_example_app/ \ - opentelemetry-example-app/tests/ + opentelemetry-api/setup.py \ + opentelemetry-api/src/opentelemetry \ + opentelemetry-api/tests/ \ + opentelemetry-sdk/setup.py \ + opentelemetry-sdk/src/opentelemetry \ + opentelemetry-sdk/tests/ \ + ext/opentelemetry-ext-http-requests/setup.py \ + ext/opentelemetry-ext-http-requests/src/opentelemetry/ \ + ext/opentelemetry-ext-http-requests/tests/ \ + ext/opentelemetry-ext-wsgi/setup.py \ + ext/opentelemetry-ext-wsgi/src/opentelemetry/ \ + ext/opentelemetry-ext-wsgi/tests/ \ + opentelemetry-example-app/setup.py \ + opentelemetry-example-app/src/opentelemetry_example_app/ \ + opentelemetry-example-app/tests/ isort --check-only --diff --recursive \ - opentelemetry-api/src/opentelemetry \ - opentelemetry-api/tests/ \ - opentelemetry-sdk/src/opentelemetry \ - opentelemetry-sdk/tests/ \ - ext/opentelemetry-ext-http-requests/src/opentelemetry/ \ - ext/opentelemetry-ext-http-requests/tests/ \ - ext/opentelemetry-ext-wsgi/src/opentelemetry/ \ - ext/opentelemetry-ext-wsgi/tests/ \ - opentelemetry-example-app/src/opentelemetry_example_app/ \ - opentelemetry-example-app/tests/ + opentelemetry-api/setup.py \ + opentelemetry-api/src/opentelemetry \ + opentelemetry-api/tests/ \ + opentelemetry-sdk/setup.py \ + opentelemetry-sdk/src/opentelemetry \ + opentelemetry-sdk/tests/ \ + ext/opentelemetry-ext-http-requests/setup.py \ + ext/opentelemetry-ext-http-requests/src/opentelemetry/ \ + ext/opentelemetry-ext-http-requests/tests/ \ + ext/opentelemetry-ext-wsgi/setup.py \ + ext/opentelemetry-ext-wsgi/src/opentelemetry/ \ + ext/opentelemetry-ext-wsgi/tests/ \ + opentelemetry-example-app/setup.py \ + opentelemetry-example-app/src/opentelemetry_example_app/ \ + opentelemetry-example-app/tests/ [testenv:docs] deps = From bb0d2e2c0ed66015b9eafa71241c3ebb27ccbb2f Mon Sep 17 00:00:00 2001 From: Chris Kleinknecht Date: Fri, 1 Nov 2019 14:42:28 -0700 Subject: [PATCH 6/7] Add various missing docs --- .../context/propagation/tracecontexthttptextformat.py | 2 +- opentelemetry-api/src/opentelemetry/metrics/__init__.py | 9 ++++++++- .../src/opentelemetry/propagators/__init__.py | 4 ++++ .../src/opentelemetry/sdk/trace/__init__.py | 2 ++ 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/opentelemetry-api/src/opentelemetry/context/propagation/tracecontexthttptextformat.py b/opentelemetry-api/src/opentelemetry/context/propagation/tracecontexthttptextformat.py index 20f2601fa20..ee3ed5bf248 100644 --- a/opentelemetry-api/src/opentelemetry/context/propagation/tracecontexthttptextformat.py +++ b/opentelemetry-api/src/opentelemetry/context/propagation/tracecontexthttptextformat.py @@ -128,7 +128,7 @@ def _parse_tracestate(header_list: typing.List[str]) -> trace.TraceState: """Parse one or more w3c tracestate header into a TraceState. Args: - string: the value of the tracestate header. + header_list: A list of tracestate headers to parse. Returns: A valid TraceState that contains values extracted from diff --git a/opentelemetry-api/src/opentelemetry/metrics/__init__.py b/opentelemetry-api/src/opentelemetry/metrics/__init__.py index e866aa97cfa..49baf9741be 100644 --- a/opentelemetry-api/src/opentelemetry/metrics/__init__.py +++ b/opentelemetry-api/src/opentelemetry/metrics/__init__.py @@ -97,6 +97,9 @@ def get_handle(self, label_values: Sequence[str]) -> "DefaultMetricHandle": Args: label_values: The label values associated with the handle. + + Returns: + A no-op `DefaultMetricHandle`. """ return DefaultMetricHandle() @@ -216,7 +219,8 @@ def create_metric( enabled: Whether to report the metric by default. monotonic: Whether to only allow non-negative values. - Returns: A new ``metric_type`` metric with values of ``value_type``. + Returns: + A new ``metric_type`` metric with values of ``value_type``. """ # pylint: disable=no-self-use return DefaultMetric() @@ -255,6 +259,9 @@ def set_preferred_meter_implementation(factory: ImplementationFactory) -> None: Args: factory: Callback that should create a new :class:`Meter` instance. + + Raises: + RuntimeError: if another meter implementation is already loaded. """ global _METER, _METER_FACTORY # pylint:disable=global-statement diff --git a/opentelemetry-api/src/opentelemetry/propagators/__init__.py b/opentelemetry-api/src/opentelemetry/propagators/__init__.py index bb75d84c3a4..e4f45dc8f39 100644 --- a/opentelemetry-api/src/opentelemetry/propagators/__init__.py +++ b/opentelemetry-api/src/opentelemetry/propagators/__init__.py @@ -40,6 +40,9 @@ def extract( used to construct a SpanContext. This object must be paired with an appropriate get_from_carrier which understands how to extract a value from it. + + Returns: + The extracted span context. """ return get_global_httptextformat().extract(get_from_carrier, carrier) @@ -57,6 +60,7 @@ def inject( carrier. Args: + tracer: The tracer into which to inject. set_in_carrier: A setter function that can set values on the carrier. carrier: An object that contains a representation of HTTP diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py index b4df4d770bf..8e63571e3be 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py @@ -111,6 +111,7 @@ class Span(trace_api.Span): attributes: The span's attributes to be exported events: Timestamped events to be exported links: Links to other spans to be exported + kind: The kind of span to be created span_processor: `SpanProcessor` to invoke when starting and ending this `Span`. """ @@ -312,6 +313,7 @@ class Tracer(trace_api.Tracer): Args: name: The name of the tracer. + sampler: The sampler used to create new spans. """ def __init__( From c3866279572bf67bfb6211b86249f77eaac3e683 Mon Sep 17 00:00:00 2001 From: Chris Kleinknecht Date: Thu, 21 May 2020 11:22:51 -0700 Subject: [PATCH 7/7] Add missing docs for docparams --- .../src/opentelemetry/metrics/__init__.py | 20 +++++++++++++++++-- .../src/opentelemetry/propagators/__init__.py | 2 ++ .../src/opentelemetry/sdk/metrics/__init__.py | 1 + .../src/opentelemetry/sdk/trace/__init__.py | 9 ++++++--- 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/opentelemetry-api/src/opentelemetry/metrics/__init__.py b/opentelemetry-api/src/opentelemetry/metrics/__init__.py index b7ad62adb2e..436a542ec66 100644 --- a/opentelemetry-api/src/opentelemetry/metrics/__init__.py +++ b/opentelemetry-api/src/opentelemetry/metrics/__init__.py @@ -103,6 +103,8 @@ def bind(self, labels: Dict[str, str]) -> "object": Args: labels: Labels to associate with the bound instrument. + Returns: + A new bound metric instrument. """ @@ -114,6 +116,8 @@ def bind(self, labels: Dict[str, str]) -> "DefaultBoundInstrument": Args: labels: Labels to associate with the bound instrument. + Returns: + A new bound metric instrument. """ return DefaultBoundInstrument() @@ -138,7 +142,13 @@ class Counter(Metric): """A counter type metric that expresses the computation of a sum.""" def bind(self, labels: Dict[str, str]) -> "BoundCounter": - """Gets a `BoundCounter`.""" + """Gets a `BoundCounter`. + + Args: + labels: Labels to associate with the bound instrument. + Returns: + A new bound metric instrument. + """ return BoundCounter() def add(self, value: ValueT, labels: Dict[str, str]) -> None: @@ -157,7 +167,13 @@ class Measure(Metric): """ def bind(self, labels: Dict[str, str]) -> "BoundMeasure": - """Gets a `BoundMeasure`.""" + """Gets a `BoundMeasure`. + + Args: + labels: Labels to associate with the bound instrument. + Returns: + A new bound metric instrument. + """ return BoundMeasure() def record(self, value: ValueT, labels: Dict[str, str]) -> None: diff --git a/opentelemetry-api/src/opentelemetry/propagators/__init__.py b/opentelemetry-api/src/opentelemetry/propagators/__init__.py index 5aa53e25dce..66021a1ddfe 100644 --- a/opentelemetry-api/src/opentelemetry/propagators/__init__.py +++ b/opentelemetry-api/src/opentelemetry/propagators/__init__.py @@ -85,6 +85,8 @@ def extract( which understands how to extract a value from it. context: an optional Context to use. Defaults to current context if not set. + Returns: + The extracted context. """ return get_global_httptextformat().extract( get_from_carrier, carrier, context diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/__init__.py index 1d35648fd35..0ccfa0bed71 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/__init__.py @@ -272,6 +272,7 @@ class Meter(metrics_api.Meter): Args: instrumentation_info: The `InstrumentationInfo` for this meter. stateful: Indicates whether the meter is stateful. + resource: The `Resource` associated with this `Meter`. """ def __init__( diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py index 5b74b4a6186..acfe6a083ef 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py @@ -248,8 +248,12 @@ class Span(trace_api.Span): attributes: The span's attributes to be exported events: Timestamped events to be exported links: Links to other spans to be exported + kind: The span kind. span_processor: `SpanProcessor` to invoke when starting and ending this `Span`. + instrumentation_info: Optional instrumentation info. + set_status_on_exception: Whether to populate the span's status with + error details when handling an exception. """ # Initialize these lazily assuming most spans won't have them. @@ -580,9 +584,8 @@ class Tracer(trace_api.Tracer): """See `opentelemetry.trace.Tracer`. Args: - name: The name of the tracer. - shutdown_on_exit: Register an atexit hook to shut down the tracer when - the application exits. + source: The parent `TracerProvider`. + instrumentation_info: Information about the instrumenting library. """ def __init__(