Skip to content

Commit a760db2

Browse files
authored
Merge branch 'main' into feat/prom-rw-retries
2 parents 1121cb6 + 51dde66 commit a760db2

File tree

3 files changed

+30
-20
lines changed
  • instrumentation
    • opentelemetry-instrumentation-botocore/src/opentelemetry/instrumentation/botocore
    • opentelemetry-instrumentation-pymongo/src/opentelemetry/instrumentation/pymongo
    • opentelemetry-instrumentation-pymssql/src/opentelemetry/instrumentation/pymssql

3 files changed

+30
-20
lines changed

instrumentation/opentelemetry-instrumentation-botocore/src/opentelemetry/instrumentation/botocore/__init__.py

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,20 +42,36 @@
4242
ec2 = session.create_client("ec2", region_name="us-west-2")
4343
ec2.describe_instances()
4444
45+
Thread Context Propagation
46+
--------------------------
47+
48+
boto3's S3 ``upload_file`` and ``download_file`` methods use background threads
49+
for multipart transfers. To ensure trace context is propagated to these threads,
50+
also enable the threading instrumentation:
51+
52+
.. code:: python
53+
54+
from opentelemetry.instrumentation.threading import ThreadingInstrumentor
55+
from opentelemetry.instrumentation.botocore import BotocoreInstrumentor
56+
57+
ThreadingInstrumentor().instrument()
58+
BotocoreInstrumentor().instrument()
59+
60+
When using auto-instrumentation (``opentelemetry-instrument``), both instrumentors
61+
are enabled automatically if their packages are installed.
62+
4563
API
4664
---
4765
4866
The `instrument` method accepts the following keyword args:
4967
50-
tracer_provider (TracerProvider) - an optional tracer provider
51-
request_hook (Callable) - a function with extra user-defined logic to be performed before performing the request
52-
this function signature is: def request_hook(span: Span, service_name: str, operation_name: str, api_params: dict) -> None
53-
response_hook (Callable) - a function with extra user-defined logic to be performed after performing the request
54-
this function signature is: def response_hook(span: Span, service_name: str, operation_name: str, result: dict) -> None
68+
* tracer_provider (``TracerProvider``) - an optional tracer provider
69+
* request_hook (``Callable[[Span, str, str, dict], None]``) - a function with extra user-defined logic to be performed before performing the request
70+
* response_hook (``Callable[[Span, str, str, dict], None]``) - a function with extra user-defined logic to be performed after performing the request
5571
5672
for example:
5773
58-
.. code: python
74+
.. code:: python
5975
6076
from opentelemetry.instrumentation.botocore import BotocoreInstrumentor
6177
import botocore.session

instrumentation/opentelemetry-instrumentation-pymongo/src/opentelemetry/instrumentation/pymongo/__init__.py

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,21 +36,15 @@
3636
---
3737
The `instrument` method accepts the following keyword args:
3838
39-
tracer_provider (TracerProvider) - an optional tracer provider
40-
request_hook (Callable) -
41-
a function with extra user-defined logic to be performed before querying mongodb
42-
this function signature is: def request_hook(span: Span, event: CommandStartedEvent) -> None
43-
response_hook (Callable) -
44-
a function with extra user-defined logic to be performed after the query returns with a successful response
45-
this function signature is: def response_hook(span: Span, event: CommandSucceededEvent) -> None
46-
failed_hook (Callable) -
47-
a function with extra user-defined logic to be performed after the query returns with a failed response
48-
this function signature is: def failed_hook(span: Span, event: CommandFailedEvent) -> None
49-
capture_statement (bool) - an optional value to enable capturing the database statement that is being executed
39+
* tracer_provider (``TracerProvider``) - an optional tracer provider
40+
* request_hook (``Callable[[Span, CommandStartedEvent], None]``) - a function with extra user-defined logic to be performed before querying mongodb
41+
* response_hook (``Callable[[Span, CommandSucceededEvent], None]``) - a function with extra user-defined logic to be performed after the query returns with a successful response
42+
* failed_hook (``Callable[[Span, CommandFailedEvent], None]``) - a function with extra user-defined logic to be performed after the query returns with a failed response
43+
* capture_statement (``bool``) - an optional value to enable capturing the database statement that is being executed
5044
5145
for example:
5246
53-
.. code: python
47+
.. code:: python
5448
5549
from opentelemetry.instrumentation.pymongo import PymongoInstrumentor
5650
from pymongo import MongoClient

instrumentation/opentelemetry-instrumentation-pymssql/src/opentelemetry/instrumentation/pymssql/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,11 @@
5555
---
5656
The `instrument` method accepts the following keyword args:
5757
58-
tracer_provider (TracerProvider) - an optional tracer provider
58+
* tracer_provider (``TracerProvider``) - an optional tracer provider
5959
6060
For example:
6161
62-
.. code: python
62+
.. code:: python
6363
6464
import pymssql
6565
from opentelemetry.instrumentation.pymssql import PyMSSQLInstrumentor

0 commit comments

Comments
 (0)