From adcdd86d7206fa6ae369a01f393888694829b712 Mon Sep 17 00:00:00 2001 From: Chad Retz Date: Mon, 19 Sep 2022 10:15:49 -0500 Subject: [PATCH 1/3] OpenTelemetry sample Fixes #12 --- README.md | 2 + activity_worker/__init__.py | 0 encryption/__init__.py | 0 hello/__init__.py | 0 open_telemetry/README.md | 37 +++ open_telemetry/__init__.py | 0 open_telemetry/jaeger-screenshot.png | Bin 0 -> 20937 bytes open_telemetry/starter.py | 30 +++ open_telemetry/worker.py | 69 +++++ poetry.lock | 385 +++++++++++++++++++++------ pyproject.toml | 11 + 11 files changed, 453 insertions(+), 81 deletions(-) create mode 100644 activity_worker/__init__.py create mode 100644 encryption/__init__.py create mode 100644 hello/__init__.py create mode 100644 open_telemetry/README.md create mode 100644 open_telemetry/__init__.py create mode 100644 open_telemetry/jaeger-screenshot.png create mode 100644 open_telemetry/starter.py create mode 100644 open_telemetry/worker.py diff --git a/README.md b/README.md index 979816a7..afce4353 100644 --- a/README.md +++ b/README.md @@ -52,5 +52,7 @@ Some examples require extra dependencies. See each sample's directory for specif * [hello_search_attributes](hello/hello_search_attributes.py) - Start workflow with search attributes then change while running. * [hello_signal](hello/hello_signal.py) - Send signals to a workflow. + * [activity_worker](activity_worker) - Use Python activities from a workflow in another language. * [encryption](encryption) - Apply end-to-end encryption for all input/output. +* [open_telemetry](open_telemetry) - Trace workflows with OpenTelemetry. diff --git a/activity_worker/__init__.py b/activity_worker/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/encryption/__init__.py b/encryption/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/hello/__init__.py b/hello/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/open_telemetry/README.md b/open_telemetry/README.md new file mode 100644 index 00000000..e376e85c --- /dev/null +++ b/open_telemetry/README.md @@ -0,0 +1,37 @@ +# OpenTelemetry Sample + +This sample shows how to configure OpenTelemetry to capture workflow traces. + +For this sample, the optional `open_telemetry` dependency group must be included. To include, run: + + poetry install --with open_telemetry + + +To run, first see [README.md](../README.md) for prerequisites. Then run the following to start a Jaeger container to +view the trace results: + + docker run -d --name jaeger \ + -e COLLECTOR_OTLP_ENABLED=true \ + -p 16686:16686 \ + -p 4317:4317 \ + -p 4318:4318 \ + jaegertracing/all-in-one:latest + +Now, from this directory, start the worker in one terminal: + + poetry run python worker.py + +This will start the worker. Then, in another terminal, run the following to execute the workflow: + + poetry run python starter.py + +The workflow should complete with the hello result. The workflow can now be viewed in Jaeger at http://localhost:16686/. +Under service, select `my-service` and "Find Traces". The workflow should appear and when clicked, may look something +like: + +![Jaeger Screenshot](jaeger-screenshot.png) + +Note, in-workflow spans do not have a time associated with them. This is by intention since due to replay. In +OpenTelemetry, only the process that started the span may end it. But in Temporal a span may cross workers/processes. +Therefore we intentionally start-then-end in-workflow spans immediately. So while the start time and hierarchy is +accurate, the duration is not. \ No newline at end of file diff --git a/open_telemetry/__init__.py b/open_telemetry/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/open_telemetry/jaeger-screenshot.png b/open_telemetry/jaeger-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..8376d49c1a610b2891a571daa95f031143e1e120 GIT binary patch literal 20937 zcmce-2UwHawl<0t1r(8{A|OcbQbf8m=^(vVDN;jkfgm6ty-9D zArK$|0_29Jd!Mz=KIiQJKX={B^N3$EzvP>9j5)_U-ggYbU#iO8B6vW6hlh7dL0(1! z5AT{H?izFBGVV8@n@~OOze{c!a#DCz0}nTFFRt21sz~DD)x;8>nqR}czUeHl?}mqW zyZz$dr7l2;B_5u-iGqxzmbVEUd{#%@;e+T4SeREG=hRhK*Rs<7;IO#7h*WAWsZC@{ zL@Jrf#{@q+x^BAIvKP+79C~-{hiVK9RnBAP3C}?Z~L#mwd|o-e?yd-(x3Fb zT={Jr4{tX~MEE0K@}1E$cl3e#V1<}H)VA`>PrRXE4)@Ne7~f!!%^u~7S83$iAAv#${Ucx%i<+K}2@ozoa-4939c*!YJ9kl2G4+fvsZ+9MhHZOf0w>&fDf4%2b zHzrHO>wE%mHW7M@>g7@7TB!={Gt73K#K(=&I0?5*UsQ~WuE`O^ZKBuvq5Yr_I*beE zz4VxS9B}aLYy_r~b5steYhtK3%0As;p1T1;r-$*+TMVvE9PeeF^&ql|ilVNVf~wgu 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 str: + return await workflow.execute_activity( + compose_greeting, + name, + start_to_close_timeout=timedelta(seconds=10), + ) + + +@activity.defn +async def compose_greeting(name: str) -> str: + return f"Hello, {name}!" + + +interrupt_event = asyncio.Event() + + +def init_opentelemetry() -> None: + provider = TracerProvider(resource=Resource.create({SERVICE_NAME: "my-service"})) + provider.add_span_processor(BatchSpanProcessor(OTLPSpanExporter())) + trace.set_tracer_provider(provider) + + +async def main(): + init_opentelemetry() + + # Connect client + client = await Client.connect( + "localhost:7233", + # Use OpenTelemetry interceptor + interceptors=[TracingInterceptor()], + ) + + # Run a worker for the workflow + async with Worker( + client, + task_queue="open_telemetry-task-queue", + workflows=[GreetingWorkflow], + activities=[compose_greeting], + ): + # Wait until interrupted + print("Worker started, ctrl+c to exit") + await interrupt_event.wait() + print("Shutting down") + + +if __name__ == "__main__": + loop = asyncio.new_event_loop() + try: + loop.run_until_complete(main()) + except KeyboardInterrupt: + interrupt_event.set() + loop.run_until_complete(loop.shutdown_asyncgens()) diff --git a/poetry.lock b/poetry.lock index 05882e06..50faefcf 100644 --- a/poetry.lock +++ b/poetry.lock @@ -64,6 +64,14 @@ docs = ["furo", "sphinx", "sphinx-notfound-page", "zope.interface"] tests = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "zope.interface"] tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins"] +[[package]] +name = "backoff" +version = "2.1.2" +description = "Function decoration for backoff and retry" +category = "dev" +optional = false +python-versions = ">=3.7,<4.0" + [[package]] name = "black" version = "22.8.0" @@ -159,6 +167,20 @@ python-versions = ">=3.6" [package.extras] dev = ["black", "coveralls", "mypy", "pylint", "pytest (>=5)", "pytest-cov"] +[[package]] +name = "Deprecated" +version = "1.2.13" +description = "Python @deprecated decorator to deprecate old python classes, functions or methods." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.dependencies] +wrapt = ">=1.10,<2" + +[package.extras] +dev = ["PyTest", "PyTest (<5)", "PyTest-Cov", "PyTest-Cov (<2.6)", "bump2version (<1)", "configparser (<5)", "importlib-metadata (<3)", "importlib-resources (<4)", "sphinx (<2)", "sphinxcontrib-websupport (<2)", "tox", "zipp (<2)"] + [[package]] name = "frozenlist" version = "1.3.1" @@ -167,23 +189,37 @@ category = "dev" optional = false python-versions = ">=3.7" +[[package]] +name = "googleapis-common-protos" +version = "1.56.4" +description = "Common protobufs used in Google APIs" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +protobuf = ">=3.15.0,<5.0.0dev" + +[package.extras] +grpc = ["grpcio (>=1.0.0,<2.0.0dev)"] + [[package]] name = "grpcio" -version = "1.48.1" +version = "1.49.0" description = "HTTP/2-based RPC framework" category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" [package.dependencies] six = ">=1.5.2" [package.extras] -protobuf = ["grpcio-tools (>=1.48.1)"] +protobuf = ["grpcio-tools (>=1.49.0)"] [[package]] name = "idna" -version = "3.3" +version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" category = "dev" optional = false @@ -263,6 +299,70 @@ category = "dev" optional = false python-versions = "*" +[[package]] +name = "opentelemetry-api" +version = "1.12.0" +description = "OpenTelemetry Python API" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +Deprecated = ">=1.2.6" +setuptools = ">=16.0" + +[[package]] +name = "opentelemetry-exporter-otlp-proto-grpc" +version = "1.12.0" +description = "OpenTelemetry Collector Protobuf over gRPC Exporter" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +backoff = {version = ">=1.10.0,<3.0.0", markers = "python_version >= \"3.7\""} +googleapis-common-protos = ">=1.52,<2.0" +grpcio = ">=1.0.0,<2.0.0" +opentelemetry-api = ">=1.3,<2.0" +opentelemetry-proto = "1.12.0" +opentelemetry-sdk = ">=1.11,<2.0" + +[package.extras] +test = ["pytest-grpc"] + +[[package]] +name = "opentelemetry-proto" +version = "1.12.0" +description = "OpenTelemetry Python Proto" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +protobuf = ">=3.13,<4.0" + +[[package]] +name = "opentelemetry-sdk" +version = "1.12.0" +description = "OpenTelemetry Python SDK" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +opentelemetry-api = "1.12.0" +opentelemetry-semantic-conventions = "0.33b0" +setuptools = ">=16.0" +typing-extensions = ">=3.7.4" + +[[package]] +name = "opentelemetry-semantic-conventions" +version = "0.33b0" +description = "OpenTelemetry Semantic Conventions" +category = "dev" +optional = false +python-versions = ">=3.6" + [[package]] name = "packaging" version = "21.3" @@ -311,7 +411,7 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "protobuf" -version = "3.20.1" +version = "3.20.2" description = "Protocol Buffers" category = "main" optional = false @@ -380,6 +480,19 @@ typing-extensions = {version = ">=3.7.2", markers = "python_version < \"3.8\""} [package.extras] testing = ["coverage (==6.2)", "flaky (>=3.5.0)", "hypothesis (>=5.7.1)", "mypy (==0.931)", "pytest-trio (>=0.7.0)"] +[[package]] +name = "setuptools" +version = "65.3.0" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mock", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] + [[package]] name = "six" version = "1.16.0" @@ -399,6 +512,8 @@ python-versions = ">=3.7,<4.0" [package.dependencies] dacite = ">=1.6.0,<2.0.0" grpcio = ">=1.47.0,<2.0.0" +opentelemetry-api = {version = ">=1.11.1,<2.0.0", optional = true, markers = "extra == \"opentelemetry\""} +opentelemetry-sdk = {version = ">=1.11.1,<2.0.0", optional = true, markers = "extra == \"opentelemetry\""} protobuf = ">=3.20.1,<4.0.0" types-protobuf = ">=3.19.21,<4.0.0" typing-extensions = ">=4.2.0,<5.0.0" @@ -424,7 +539,7 @@ python-versions = ">=3.6" [[package]] name = "types-protobuf" -version = "3.20.1" +version = "3.20.4" description = "Typing stubs for protobuf" category = "main" optional = false @@ -438,6 +553,14 @@ category = "main" optional = false python-versions = ">=3.7" +[[package]] +name = "wrapt" +version = "1.14.1" +description = "Module for decorators, wrappers and monkey patching." +category = "dev" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" + [[package]] name = "yarl" version = "1.8.1" @@ -466,7 +589,7 @@ testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>= [metadata] lock-version = "1.1" python-versions = "^3.7" -content-hash = "118371998b723d23349068b434592163f2c2b3f112bf71d3a45b721205326a36" +content-hash = "39e791e16be70cb4b8d07ca29c809315bc29645dffa6f21dae8215e1fe5ccf52" [metadata.files] aiohttp = [ @@ -559,6 +682,10 @@ attrs = [ {file = "attrs-22.1.0-py2.py3-none-any.whl", hash = "sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c"}, {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"}, ] +backoff = [ + {file = "backoff-2.1.2-py3-none-any.whl", hash = "sha256:b135e6d7c7513ba2bfd6895bc32bc8c66c6f3b0279b4c6cd866053cfd7d3126b"}, + {file = "backoff-2.1.2.tar.gz", hash = "sha256:407f1bc0f22723648a8880821b935ce5df8475cf04f7b6b5017ae264d30f6069"}, +] black = [ {file = "black-22.8.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ce957f1d6b78a8a231b18e0dd2d94a33d2ba738cd88a7fe64f53f659eea49fdd"}, {file = "black-22.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5107ea36b2b61917956d018bd25129baf9ad1125e39324a9b18248d362156a27"}, @@ -694,6 +821,10 @@ dacite = [ {file = "dacite-1.6.0-py3-none-any.whl", hash = "sha256:4331535f7aabb505c732fa4c3c094313fc0a1d5ea19907bf4726a7819a68b93f"}, {file = "dacite-1.6.0.tar.gz", hash = "sha256:d48125ed0a0352d3de9f493bf980038088f45f3f9d7498f090b50a847daaa6df"}, ] +Deprecated = [ + {file = "Deprecated-1.2.13-py2.py3-none-any.whl", hash = "sha256:64756e3e14c8c5eea9795d93c524551432a0be75629f8f29e67ab8caf076c76d"}, + {file = "Deprecated-1.2.13.tar.gz", hash = "sha256:43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d"}, +] frozenlist = [ {file = "frozenlist-1.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5f271c93f001748fc26ddea409241312a75e13466b06c94798d1a341cf0e6989"}, {file = "frozenlist-1.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9c6ef8014b842f01f5d2b55315f1af5cbfde284eb184075c189fd657c2fd8204"}, @@ -755,57 +886,60 @@ frozenlist = [ {file = "frozenlist-1.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:625d8472c67f2d96f9a4302a947f92a7adbc1e20bedb6aff8dbc8ff039ca6189"}, {file = "frozenlist-1.3.1.tar.gz", hash = "sha256:3a735e4211a04ccfa3f4833547acdf5d2f863bfeb01cfd3edaffbc251f15cec8"}, ] +googleapis-common-protos = [ + {file = "googleapis-common-protos-1.56.4.tar.gz", hash = "sha256:c25873c47279387cfdcbdafa36149887901d36202cb645a0e4f29686bf6e4417"}, + {file = "googleapis_common_protos-1.56.4-py2.py3-none-any.whl", hash = "sha256:8eb2cbc91b69feaf23e32452a7ae60e791e09967d81d4fcc7fc388182d1bd394"}, +] grpcio = [ - {file = "grpcio-1.48.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:19f9c021ae858d3ef6d5ec4c0acf3f0b0a61e599e5aa36c36943c209520a0e66"}, - {file = "grpcio-1.48.1-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:b0fa666fecdb1b118d37823937e9237afa17fe734fc4dbe6dd642e1e4cca0246"}, - {file = "grpcio-1.48.1-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:a661d4b9b314327dec1e92ed57e591e8e5eb055700e0ba9e9687f734d922dcb6"}, - {file = "grpcio-1.48.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:598c8c42420443c55431eba1821c7a2f72707f1ff674a4de9e0bb03282923cfb"}, - {file = "grpcio-1.48.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c924d4e0493fd536ba3b82584b370e8b3c809ef341f9f828cff2dc3c761b3ab"}, - {file = "grpcio-1.48.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a5edbcb8289681fcb5ded7542f2b7dd456489e83007a95e32fcaf55e9f18603e"}, - {file = "grpcio-1.48.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:9d116106cf220c79e91595523c893f1cf09ec0c2ea49de4fb82152528b7e6833"}, - {file = "grpcio-1.48.1-cp310-cp310-win32.whl", hash = "sha256:5d81cd3c161291339ed3b469250c2f5013c3083dea7796e93aedff8f05fdcec1"}, - {file = "grpcio-1.48.1-cp310-cp310-win_amd64.whl", hash = "sha256:d751f8beb383c4a5a95625d7ccc1ab183b98b02c6a88924814ea7fbff530872d"}, - {file = "grpcio-1.48.1-cp36-cp36m-linux_armv7l.whl", hash = "sha256:1471e6f25a8e47d9f88499f48c565fc5b2876e8ee91bfb0ff33eaadd188b7ea6"}, - {file = "grpcio-1.48.1-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:9fba1d0ba7cf56811728f1951c800a9aca6677e86433c5e353f2cc2c4039fda6"}, - {file = "grpcio-1.48.1-cp36-cp36m-manylinux_2_17_aarch64.whl", hash = "sha256:f3a99ed422c38bd1bc893cb2cb2cea6d64173ec30927f699e95f5f58bdf625cf"}, - {file = "grpcio-1.48.1-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b005502c59835f9ba3c3f8742f64c19eeb3db41eae1a89b035a559b39b421803"}, - {file = "grpcio-1.48.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ef1dafb4eadeaca58aec8c721a5a73d551064b0c63d57fa003e233277c642e"}, - {file = "grpcio-1.48.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:9477967e605ba08715dcc769b5ee0f0d8b22bda40ef25a0df5a8759e5a4d21a5"}, - {file = "grpcio-1.48.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:dbba883c2b6d63949bc98ab1950bc22cf7c8d4e8cb68de6edde49d3cccd8fd26"}, - {file = "grpcio-1.48.1-cp36-cp36m-win32.whl", hash = "sha256:8bbaa6647986b874891bc682a1093df54cbdb073b5d4b844a2b480c47c7ffafd"}, - {file = "grpcio-1.48.1-cp36-cp36m-win_amd64.whl", hash = "sha256:e02f6ba10a3d4e289fa7ae91b301783a750d118b60f17924ca05e506c7d29bc8"}, - {file = "grpcio-1.48.1-cp37-cp37m-linux_armv7l.whl", hash = "sha256:97dc35a99c61d5f35ec6457d3df0a4695ba9bb04a35686e1c254462b15c53f98"}, - {file = "grpcio-1.48.1-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:ca382028cdfd2d79b7704b2acb8ae1fb54e9e1a03a6765e1895ba89a6fcfaba1"}, - {file = "grpcio-1.48.1-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:3d319a0c89ffac9b8dfc75bfe727a4c835d18bbccc14203b20eb5949c6c7d87d"}, - {file = "grpcio-1.48.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a1b81849061c67c2ffaa6ed27aa3d9b0762e71e68e784e24b0330b7b1c67470a"}, - {file = "grpcio-1.48.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ff1be0474846ed15682843b187e6062f845ddfeaceb2b28972073f474f7b735"}, - {file = "grpcio-1.48.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:53b6306f9473020bc47ddf64ca704356466e63d5f88f5c2a7bf0a4692e7f03c4"}, - {file = "grpcio-1.48.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:dad2501603f954f222a6e555413c454a5f8d763ab910fbab3855bcdfef6b3148"}, - {file = "grpcio-1.48.1-cp37-cp37m-win32.whl", hash = "sha256:4786323555a9f2c6380cd9a9922bcfd42165a51d68d242eebfcdfdc667651c96"}, - {file = "grpcio-1.48.1-cp37-cp37m-win_amd64.whl", hash = "sha256:934aad7350d9577f4275e787f3d91d3c8ff4efffa8d6b807d343d3c891ff53eb"}, - {file = "grpcio-1.48.1-cp38-cp38-linux_armv7l.whl", hash = "sha256:2563357697f5f2d7fd80c1b07a57ef4736551327ad84de604e7b9f6c1b6b4e20"}, - {file = "grpcio-1.48.1-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:1d065f40fe74b52b88a6c42d4373a0983f1b0090f952a0747f34f2c11d6cbc64"}, - {file = "grpcio-1.48.1-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:3340cb2224cc397954def015729391d85fb31135b5a7efca363e73e6f1b0e908"}, - {file = "grpcio-1.48.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d03009a26f7edca9f0a581aa5d3153242b815b858cb4790e34a955afb303c6ba"}, - {file = "grpcio-1.48.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:53fa2fc1a1713195fa7acf7443a6f59b6ac7837607690f813c66cc18a9cb8135"}, - {file = "grpcio-1.48.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5a6a750c8324f3974e95265d3f9a0541573c537af1f67b3f6f46bf9c0b2e1b36"}, - {file = "grpcio-1.48.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:626822d799d8fab08f07c8d95ef5c36213d24143f7cad3f548e97413db9f4110"}, - {file = "grpcio-1.48.1-cp38-cp38-win32.whl", hash = "sha256:ca5209ef89f7607be47a308fa92308cf079805ed556ecda672f00039a26e366f"}, - {file = "grpcio-1.48.1-cp38-cp38-win_amd64.whl", hash = "sha256:7cee20a4f873d61274d70c28ff63d19677d9eeea869c6a9cbaf3a00712336b6c"}, - {file = "grpcio-1.48.1-cp39-cp39-linux_armv7l.whl", hash = "sha256:460f5bec23fffa3c041aeba1f93a0f06b7a29e6a4da3658a52e1a866494920ab"}, - {file = "grpcio-1.48.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:c54734a6eb3be544d332e65c846236d02e5fc71325e8c53af91e83a46b87b506"}, - {file = "grpcio-1.48.1-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:c6b6969c529521c86884a13745a4b68930db1ef2e051735c0f479d0a7adb25b6"}, - {file = "grpcio-1.48.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:346bef672a1536d59437210f16af35389d715d2b321bfe4899b3d6476a196706"}, - {file = "grpcio-1.48.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f29627d66ae816837fd32c9450dc9c54780962cd74d034513ed829ba3ab46652"}, - {file = "grpcio-1.48.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:b01faf7934c606d5050cf055c1d03943180f23d995d68d04cf50c80d1ef2c65a"}, - {file = "grpcio-1.48.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:741eeff39a26d26da2b6d74ff0559f882ee95ee4e3b20c0b4b829021cb917f96"}, - {file = "grpcio-1.48.1-cp39-cp39-win32.whl", hash = "sha256:a15409bc1d05c52ecb00f5e42ab8ff280e7149f2eb854728f628fb2a0a161a5b"}, - {file = "grpcio-1.48.1-cp39-cp39-win_amd64.whl", hash = "sha256:2b6c336409937fd1cd2bf78eb72651f44d292d88da5e63059a4e8bd01b9d7411"}, - {file = "grpcio-1.48.1.tar.gz", hash = "sha256:660217eccd2943bf23ea9a36e2a292024305aec04bf747fbcff1f5032b83610e"}, + {file = "grpcio-1.49.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:79298b2b153d00f34ecbf5db8ec1be9bf37172ff9d2b63a2e0c6ef67f85daf1e"}, + {file = "grpcio-1.49.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:ebb539e0cf618593dc08ea9bf6fc72c538b632663f8efc1a344f6db62545dfaa"}, + {file = "grpcio-1.49.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:7ea88f3dfe2606a93193e8dc240659b5eedcee77ef90d655cbc792273a5c3eb2"}, + {file = "grpcio-1.49.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a821831518758b725ba857d791a43959e8ffdbe5935e89a50222496fe2ed0f9c"}, + {file = "grpcio-1.49.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91763e949104894b639ad47243c69988fc0bbdcbead995280f7d3fcba3824a79"}, + {file = "grpcio-1.49.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ad119d3db3a284e8f0dbf0149b904280e17a13c9eca38a250109cbee9d569a1d"}, + {file = "grpcio-1.49.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e26d4b147447cf63e7e20e92c7b938b6279c0cd463b421f0f6ecc2d991161614"}, + {file = "grpcio-1.49.0-cp310-cp310-win32.whl", hash = "sha256:172cfa96c6d4de9d84bbd00ffea7aebe820f44430d31cdfea6ec6d209007c117"}, + {file = "grpcio-1.49.0-cp310-cp310-win_amd64.whl", hash = "sha256:07bbbb2675d5bcd5ea0dd5dc39d47d8cd9f81e12d5689d79079f5eb9bad87127"}, + {file = "grpcio-1.49.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:a3eccffe9cac99883cbfdcaac0af3d346d5499a7fcb7d57fdd2ec21209471c39"}, + {file = "grpcio-1.49.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:77742b6805c2b46a59b76f924b3018de89c4e3b565df7ef2d79d4d8eecd37a20"}, + {file = "grpcio-1.49.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:875cb37144865cc4d26e91add8c9672cf2c95f3547f15ae3daba8f27064fdb30"}, + {file = "grpcio-1.49.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1532064b23130be7760c940b82961e3661cb785f686204a937e8edca007069fe"}, + {file = "grpcio-1.49.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3477cec9b89334ddbb09b44cf099e9a81f4090b48fdd63310f91b71a762896d6"}, + {file = "grpcio-1.49.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb4a3812e90d8189ff96b1779c7e7e56d13e7525ef4928b7d897c62c0d8936e3"}, + {file = "grpcio-1.49.0-cp311-cp311-win32.whl", hash = "sha256:a9e154ff1d55540db0ff9ee123687c45e7946a235d22a44c5347b2384b2a4753"}, + {file = "grpcio-1.49.0-cp311-cp311-win_amd64.whl", hash = "sha256:894fba84ef949c7f2403eaf09c9d2421eeeec447f4d61829353a371d4d1edb57"}, + {file = "grpcio-1.49.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:fcd45c259cabb739b8b0c3a539ad2796f627fef77e53e55e6c2b5389b59a00ff"}, + {file = "grpcio-1.49.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:4ae542364be7b2cb13d8372c2a601a84c77a93327c93a31cda64fd9c5c333448"}, + {file = "grpcio-1.49.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:3e7b20e78b8dcee038002fd42ae13d5e6e81efa7d21cc6682a25f4cbd18f0491"}, + {file = "grpcio-1.49.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82a40b2fea553a85d045b1934633d108643d3b870a08fa19d47137d967e8e716"}, + {file = "grpcio-1.49.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85150bce2438feb2a814e0c2dec09fb6e86a58b69a06279a1a49426b88b84176"}, + {file = "grpcio-1.49.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:db056a709ea38b2da97a6811ed6719329f6576a32240e102e897a05b681a1674"}, + {file = "grpcio-1.49.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:41d8e725b816964691650967b017a621d935ba7393a153fcf8d6dcae5e41e4b3"}, + {file = "grpcio-1.49.0-cp37-cp37m-win32.whl", hash = "sha256:6ea56034245fe04ca3c411d2bf7032782722973e4cd2964e89d55110d2142bac"}, + {file = "grpcio-1.49.0-cp37-cp37m-win_amd64.whl", hash = "sha256:bc39e9bd568b210ba9e44819736eb5e95cada054381dec5a3d2ec0a5f7c0178f"}, + {file = "grpcio-1.49.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:8d6f4ace5b41502b11c2456d2fa3a2d7ee776bbb7d2c3c05e0309d420654c95a"}, + {file = "grpcio-1.49.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:9736f24b9a0a5b66df739fa2e82132c1c420cc470df003e53596dcec8d90a52a"}, + {file = "grpcio-1.49.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:a0c39a3d81a727d36c855781886a66d868681e5dc8de76a766a7c3c4827f649b"}, + {file = "grpcio-1.49.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:63c3823fc525882989c0a42191d1efeb37c4d4f4c1dc555cc21d721fe11570e3"}, + {file = "grpcio-1.49.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b0522e5c678411977db57bb6a4c6dd29e1defc0961ebf2c0a29871459cce0fd9"}, + {file = "grpcio-1.49.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3cc65127b0755fc0cf4f7e095f2d0ed25fe225eb1525b76c0a32de3efaf7c22f"}, + {file = "grpcio-1.49.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:717ed04e949022e33e10c4d11b2a9567da2de5a02019535058482ea54d9f795c"}, + {file = "grpcio-1.49.0-cp38-cp38-win32.whl", hash = "sha256:dcb480c4141dd051120a3de9af555ef09fc3ce1d0cb47e95b22ac1406554af18"}, + {file = "grpcio-1.49.0-cp38-cp38-win_amd64.whl", hash = "sha256:faa91b060bf3c520d0a4f11bd550d1b4026d649f188b082690270182fb462ec4"}, + {file = "grpcio-1.49.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:5df1748ac9d679f47ee39226a7389f73e8c7c49910c7493b0f61735825a0b5ec"}, + {file = "grpcio-1.49.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:4f70df4d99945a7dc4a358cf0d2c027bba2d3125bc8ad1acb069480747fc58de"}, + {file = "grpcio-1.49.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:6cbcbbab1c8f677d6b3bb55b22bfce87bd10713a8ef439098f86ada96e69eda8"}, + {file = "grpcio-1.49.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b40ca1a353ad0410f979d3ac7fdb07e2ad65717411c0c3e2df12a4b811898637"}, + {file = "grpcio-1.49.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ede5041e8a98ce8761d7b6d966da872ac6a5bf2d8de776b402ea509c8ba8a8bc"}, + {file = "grpcio-1.49.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:49a8a3aa2d61f1940983795cea78d336f86ab2e5c92029adfc7e6a8ee0fe6e3a"}, + {file = "grpcio-1.49.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b3bc29e95a578b5c5a1bf2908ef56f45ad8b669178298cf6a8357a6883baff99"}, + {file = "grpcio-1.49.0-cp39-cp39-win32.whl", hash = "sha256:60d31d1377429f0f83fe10887276e8bdef16fb297dfbccab896a145d7b171bc8"}, + {file = "grpcio-1.49.0-cp39-cp39-win_amd64.whl", hash = "sha256:4e0374c5b31fdf5cd4a2f3209e5341762a34c80acedbaca0896ccb904ecdd707"}, + {file = "grpcio-1.49.0.tar.gz", hash = "sha256:90ec337f36db26fbc70a4c032bcbabb2008f950f4194e99385118a12688fdf92"}, ] idna = [ - {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"}, - {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"}, + {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, + {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, ] importlib-metadata = [ {file = "importlib_metadata-4.12.0-py3-none-any.whl", hash = "sha256:7401a975809ea1fdc658c3aa4f78cc2195a0e019c5cbc4c06122884e9ae80c23"}, @@ -909,6 +1043,26 @@ mypy-extensions = [ {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, ] +opentelemetry-api = [ + {file = "opentelemetry-api-1.12.0.tar.gz", hash = "sha256:740c2cf9aa75e76c208b3ee04b3b3b3721f58bbac8e97019174f07ec12cde7af"}, + {file = "opentelemetry_api-1.12.0-py3-none-any.whl", hash = "sha256:2e1cef8ce175be6464f240422babfe1dfb581daec96f0daad5d0d0e951b38f7b"}, +] +opentelemetry-exporter-otlp-proto-grpc = [ + {file = "opentelemetry-exporter-otlp-proto-grpc-1.12.0.tar.gz", hash = "sha256:b69a5b080cabcb4e69e5fb27f697def3fb59685b11360fa2db01bea827b9cc97"}, + {file = "opentelemetry_exporter_otlp_proto_grpc-1.12.0-py3-none-any.whl", hash = "sha256:4cb55908337ba2c05c1c74605d0eed2db7e122f0178b22afbe3b692ae5477985"}, +] +opentelemetry-proto = [ + {file = "opentelemetry-proto-1.12.0.tar.gz", hash = "sha256:c7f3f2dab9060769ac3ca67b147a0433d7326d5622eed6ef8039afebd80591e3"}, + {file = "opentelemetry_proto-1.12.0-py3-none-any.whl", hash = "sha256:24dbdd6408e31e43fd83afee3989a8f533e565979fafdf526d4cff22e1583d77"}, +] +opentelemetry-sdk = [ + {file = "opentelemetry-sdk-1.12.0.tar.gz", hash = "sha256:bf37830ca4f93d0910cf109749237c5cb4465e31a54dfad8400011e9822a2a14"}, + {file = "opentelemetry_sdk-1.12.0-py3-none-any.whl", hash = "sha256:d13be09765441c0513a3de01b7a2f56a7da36d902f60bff7c97f338903a57c34"}, +] +opentelemetry-semantic-conventions = [ + {file = "opentelemetry-semantic-conventions-0.33b0.tar.gz", hash = "sha256:67d62461c87b683b958428ced79162ec4d567dabf30b050f270bbd01eff89ced"}, + {file = "opentelemetry_semantic_conventions-0.33b0-py3-none-any.whl", hash = "sha256:56b67b3f8f49413cbfbbeb32e9cf7b4c7dfb27a83064d959733766376ba11bc7"}, +] packaging = [ {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, @@ -926,30 +1080,29 @@ pluggy = [ {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, ] protobuf = [ - {file = "protobuf-3.20.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3cc797c9d15d7689ed507b165cd05913acb992d78b379f6014e013f9ecb20996"}, - {file = "protobuf-3.20.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:ff8d8fa42675249bb456f5db06c00de6c2f4c27a065955917b28c4f15978b9c3"}, - {file = "protobuf-3.20.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cd68be2559e2a3b84f517fb029ee611546f7812b1fdd0aa2ecc9bc6ec0e4fdde"}, - {file = "protobuf-3.20.1-cp310-cp310-win32.whl", hash = "sha256:9016d01c91e8e625141d24ec1b20fed584703e527d28512aa8c8707f105a683c"}, - {file = "protobuf-3.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:32ca378605b41fd180dfe4e14d3226386d8d1b002ab31c969c366549e66a2bb7"}, - {file = "protobuf-3.20.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:9be73ad47579abc26c12024239d3540e6b765182a91dbc88e23658ab71767153"}, - {file = "protobuf-3.20.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:097c5d8a9808302fb0da7e20edf0b8d4703274d140fd25c5edabddcde43e081f"}, - {file = "protobuf-3.20.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e250a42f15bf9d5b09fe1b293bdba2801cd520a9f5ea2d7fb7536d4441811d20"}, - {file = "protobuf-3.20.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:cdee09140e1cd184ba9324ec1df410e7147242b94b5f8b0c64fc89e38a8ba531"}, - {file = "protobuf-3.20.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:af0ebadc74e281a517141daad9d0f2c5d93ab78e9d455113719a45a49da9db4e"}, - {file = "protobuf-3.20.1-cp37-cp37m-win32.whl", hash = "sha256:755f3aee41354ae395e104d62119cb223339a8f3276a0cd009ffabfcdd46bb0c"}, - {file = "protobuf-3.20.1-cp37-cp37m-win_amd64.whl", hash = "sha256:62f1b5c4cd6c5402b4e2d63804ba49a327e0c386c99b1675c8a0fefda23b2067"}, - {file = "protobuf-3.20.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:06059eb6953ff01e56a25cd02cca1a9649a75a7e65397b5b9b4e929ed71d10cf"}, - {file = "protobuf-3.20.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:cb29edb9eab15742d791e1025dd7b6a8f6fcb53802ad2f6e3adcb102051063ab"}, - {file = "protobuf-3.20.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:69ccfdf3657ba59569c64295b7d51325f91af586f8d5793b734260dfe2e94e2c"}, - {file = "protobuf-3.20.1-cp38-cp38-win32.whl", hash = "sha256:dd5789b2948ca702c17027c84c2accb552fc30f4622a98ab5c51fcfe8c50d3e7"}, - {file = "protobuf-3.20.1-cp38-cp38-win_amd64.whl", hash = "sha256:77053d28427a29987ca9caf7b72ccafee011257561259faba8dd308fda9a8739"}, - {file = "protobuf-3.20.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6f50601512a3d23625d8a85b1638d914a0970f17920ff39cec63aaef80a93fb7"}, - {file = "protobuf-3.20.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:284f86a6207c897542d7e956eb243a36bb8f9564c1742b253462386e96c6b78f"}, - {file = "protobuf-3.20.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7403941f6d0992d40161aa8bb23e12575637008a5a02283a930addc0508982f9"}, - {file = "protobuf-3.20.1-cp39-cp39-win32.whl", hash = "sha256:db977c4ca738dd9ce508557d4fce0f5aebd105e158c725beec86feb1f6bc20d8"}, - {file = "protobuf-3.20.1-cp39-cp39-win_amd64.whl", hash = "sha256:7e371f10abe57cee5021797126c93479f59fccc9693dafd6bd5633ab67808a91"}, - {file = "protobuf-3.20.1-py2.py3-none-any.whl", hash = "sha256:adfc6cf69c7f8c50fd24c793964eef18f0ac321315439d94945820612849c388"}, - {file = "protobuf-3.20.1.tar.gz", hash = "sha256:adc31566d027f45efe3f44eeb5b1f329da43891634d61c75a5944e9be6dd42c9"}, + {file = "protobuf-3.20.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9f876a69ca55aed879b43c295a328970306e8e80a263ec91cf6e9189243c613b"}, + {file = "protobuf-3.20.2-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:09e25909c4297d71d97612f04f41cea8fa8510096864f2835ad2f3b3df5a5559"}, + {file = "protobuf-3.20.2-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e8fbc522303e09036c752a0afcc5c0603e917222d8bedc02813fd73b4b4ed804"}, + {file = "protobuf-3.20.2-cp310-cp310-win32.whl", hash = "sha256:84a1544252a933ef07bb0b5ef13afe7c36232a774affa673fc3636f7cee1db6c"}, + {file = "protobuf-3.20.2-cp310-cp310-win_amd64.whl", hash = "sha256:2c0b040d0b5d5d207936ca2d02f00f765906622c07d3fa19c23a16a8ca71873f"}, + {file = "protobuf-3.20.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:3cb608e5a0eb61b8e00fe641d9f0282cd0eedb603be372f91f163cbfbca0ded0"}, + {file = "protobuf-3.20.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:84fe5953b18a383fd4495d375fe16e1e55e0a3afe7b4f7b4d01a3a0649fcda9d"}, + {file = "protobuf-3.20.2-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:384164994727f274cc34b8abd41a9e7e0562801361ee77437099ff6dfedd024b"}, + {file = "protobuf-3.20.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e39cf61bb8582bda88cdfebc0db163b774e7e03364bbf9ce1ead13863e81e359"}, + {file = "protobuf-3.20.2-cp37-cp37m-win32.whl", hash = "sha256:18e34a10ae10d458b027d7638a599c964b030c1739ebd035a1dfc0e22baa3bfe"}, + {file = "protobuf-3.20.2-cp37-cp37m-win_amd64.whl", hash = "sha256:8228e56a865c27163d5d1d1771d94b98194aa6917bcfb6ce139cbfa8e3c27334"}, + {file = "protobuf-3.20.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:03d76b7bd42ac4a6e109742a4edf81ffe26ffd87c5993126d894fe48a120396a"}, + {file = "protobuf-3.20.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:f52dabc96ca99ebd2169dadbe018824ebda08a795c7684a0b7d203a290f3adb0"}, + {file = "protobuf-3.20.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:f34464ab1207114e73bba0794d1257c150a2b89b7a9faf504e00af7c9fd58978"}, + {file = "protobuf-3.20.2-cp38-cp38-win32.whl", hash = "sha256:5d9402bf27d11e37801d1743eada54372f986a372ec9679673bfcc5c60441151"}, + {file = "protobuf-3.20.2-cp38-cp38-win_amd64.whl", hash = "sha256:9c673c8bfdf52f903081816b9e0e612186684f4eb4c17eeb729133022d6032e3"}, + {file = "protobuf-3.20.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:291fb4307094bf5ccc29f424b42268640e00d5240bf0d9b86bf3079f7576474d"}, + {file = "protobuf-3.20.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:b4fdb29c5a7406e3f7ef176b2a7079baa68b5b854f364c21abe327bbeec01cdb"}, + {file = "protobuf-3.20.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7a5037af4e76c975b88c3becdf53922b5ffa3f2cddf657574a4920a3b33b80f3"}, + {file = "protobuf-3.20.2-cp39-cp39-win32.whl", hash = "sha256:a9e5ae5a8e8985c67e8944c23035a0dff2c26b0f5070b2f55b217a1c33bbe8b1"}, + {file = "protobuf-3.20.2-cp39-cp39-win_amd64.whl", hash = "sha256:c184485e0dfba4dfd451c3bd348c2e685d6523543a0f91b9fd4ae90eb09e8422"}, + {file = "protobuf-3.20.2-py2.py3-none-any.whl", hash = "sha256:c9cdf251c582c16fd6a9f5e95836c90828d51b0069ad22f463761d27c6c19019"}, + {file = "protobuf-3.20.2.tar.gz", hash = "sha256:712dca319eee507a1e7df3591e639a2b112a2f4a62d40fe7832a16fd19151750"}, ] py = [ {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, @@ -972,6 +1125,10 @@ pytest-asyncio = [ {file = "pytest_asyncio-0.18.3-1-py3-none-any.whl", hash = "sha256:16cf40bdf2b4fb7fc8e4b82bd05ce3fbcd454cbf7b92afc445fe299dabb88213"}, {file = "pytest_asyncio-0.18.3-py3-none-any.whl", hash = "sha256:8fafa6c52161addfd41ee7ab35f11836c5a16ec208f93ee388f752bea3493a84"}, ] +setuptools = [ + {file = "setuptools-65.3.0-py3-none-any.whl", hash = "sha256:2e24e0bec025f035a2e72cdd1961119f557d78ad331bb00ff82efb2ab8da8e82"}, + {file = "setuptools-65.3.0.tar.gz", hash = "sha256:7732871f4f7fa58fb6bdcaeadb0161b2bd046c85905dbaa066bdcbcc81953b57"}, +] six = [ {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, @@ -1014,13 +1171,79 @@ typed-ast = [ {file = "typed_ast-1.5.4.tar.gz", hash = "sha256:39e21ceb7388e4bb37f4c679d72707ed46c2fbf2a5609b8b8ebc4b067d977df2"}, ] types-protobuf = [ - {file = "types-protobuf-3.20.1.tar.gz", hash = "sha256:36e3426476e373da6f2bb8a81a1194478cd1f33813a4e254849146d28c450e00"}, - {file = "types_protobuf-3.20.1-py3-none-any.whl", hash = "sha256:b0bc0ffde2a339ee25c4b47e9dd515010153ad80c21d16fb57a2429987579801"}, + {file = "types-protobuf-3.20.4.tar.gz", hash = "sha256:0dad3a5009895c985a56e2837f61902bad9594151265ac0ee907bb16d0b01eb7"}, + {file = "types_protobuf-3.20.4-py3-none-any.whl", hash = "sha256:5082437afe64ce3b31c8db109eae86e02fda11e4d5f9ac59cb8578a8a138aa70"}, ] typing-extensions = [ {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, ] +wrapt = [ + {file = "wrapt-1.14.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:1b376b3f4896e7930f1f772ac4b064ac12598d1c38d04907e696cc4d794b43d3"}, + {file = "wrapt-1.14.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:903500616422a40a98a5a3c4ff4ed9d0066f3b4c951fa286018ecdf0750194ef"}, + {file = "wrapt-1.14.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5a9a0d155deafd9448baff28c08e150d9b24ff010e899311ddd63c45c2445e28"}, + {file = "wrapt-1.14.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ddaea91abf8b0d13443f6dac52e89051a5063c7d014710dcb4d4abb2ff811a59"}, + {file = "wrapt-1.14.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:36f582d0c6bc99d5f39cd3ac2a9062e57f3cf606ade29a0a0d6b323462f4dd87"}, + {file = "wrapt-1.14.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:7ef58fb89674095bfc57c4069e95d7a31cfdc0939e2a579882ac7d55aadfd2a1"}, + {file = "wrapt-1.14.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:e2f83e18fe2f4c9e7db597e988f72712c0c3676d337d8b101f6758107c42425b"}, + {file = "wrapt-1.14.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:ee2b1b1769f6707a8a445162ea16dddf74285c3964f605877a20e38545c3c462"}, + {file = "wrapt-1.14.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:833b58d5d0b7e5b9832869f039203389ac7cbf01765639c7309fd50ef619e0b1"}, + {file = "wrapt-1.14.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:80bb5c256f1415f747011dc3604b59bc1f91c6e7150bd7db03b19170ee06b320"}, + {file = "wrapt-1.14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:07f7a7d0f388028b2df1d916e94bbb40624c59b48ecc6cbc232546706fac74c2"}, + {file = "wrapt-1.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02b41b633c6261feff8ddd8d11c711df6842aba629fdd3da10249a53211a72c4"}, + {file = "wrapt-1.14.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2fe803deacd09a233e4762a1adcea5db5d31e6be577a43352936179d14d90069"}, + {file = "wrapt-1.14.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:257fd78c513e0fb5cdbe058c27a0624c9884e735bbd131935fd49e9fe719d310"}, + {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4fcc4649dc762cddacd193e6b55bc02edca674067f5f98166d7713b193932b7f"}, + {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:11871514607b15cfeb87c547a49bca19fde402f32e2b1c24a632506c0a756656"}, + {file = "wrapt-1.14.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8ad85f7f4e20964db4daadcab70b47ab05c7c1cf2a7c1e51087bfaa83831854c"}, + {file = "wrapt-1.14.1-cp310-cp310-win32.whl", hash = "sha256:a9a52172be0b5aae932bef82a79ec0a0ce87288c7d132946d645eba03f0ad8a8"}, + {file = "wrapt-1.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:6d323e1554b3d22cfc03cd3243b5bb815a51f5249fdcbb86fda4bf62bab9e164"}, + {file = "wrapt-1.14.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:43ca3bbbe97af00f49efb06e352eae40434ca9d915906f77def219b88e85d907"}, + {file = "wrapt-1.14.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:6b1a564e6cb69922c7fe3a678b9f9a3c54e72b469875aa8018f18b4d1dd1adf3"}, + {file = "wrapt-1.14.1-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:00b6d4ea20a906c0ca56d84f93065b398ab74b927a7a3dbd470f6fc503f95dc3"}, + {file = "wrapt-1.14.1-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:a85d2b46be66a71bedde836d9e41859879cc54a2a04fad1191eb50c2066f6e9d"}, + {file = "wrapt-1.14.1-cp35-cp35m-win32.whl", hash = "sha256:dbcda74c67263139358f4d188ae5faae95c30929281bc6866d00573783c422b7"}, + {file = "wrapt-1.14.1-cp35-cp35m-win_amd64.whl", hash = "sha256:b21bb4c09ffabfa0e85e3a6b623e19b80e7acd709b9f91452b8297ace2a8ab00"}, + {file = "wrapt-1.14.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:9e0fd32e0148dd5dea6af5fee42beb949098564cc23211a88d799e434255a1f4"}, + {file = "wrapt-1.14.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9736af4641846491aedb3c3f56b9bc5568d92b0692303b5a305301a95dfd38b1"}, + {file = "wrapt-1.14.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b02d65b9ccf0ef6c34cba6cf5bf2aab1bb2f49c6090bafeecc9cd81ad4ea1c1"}, + {file = "wrapt-1.14.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21ac0156c4b089b330b7666db40feee30a5d52634cc4560e1905d6529a3897ff"}, + {file = "wrapt-1.14.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:9f3e6f9e05148ff90002b884fbc2a86bd303ae847e472f44ecc06c2cd2fcdb2d"}, + {file = "wrapt-1.14.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:6e743de5e9c3d1b7185870f480587b75b1cb604832e380d64f9504a0535912d1"}, + {file = "wrapt-1.14.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:d79d7d5dc8a32b7093e81e97dad755127ff77bcc899e845f41bf71747af0c569"}, + {file = "wrapt-1.14.1-cp36-cp36m-win32.whl", hash = "sha256:81b19725065dcb43df02b37e03278c011a09e49757287dca60c5aecdd5a0b8ed"}, + {file = "wrapt-1.14.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b014c23646a467558be7da3d6b9fa409b2c567d2110599b7cf9a0c5992b3b471"}, + {file = "wrapt-1.14.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:88bd7b6bd70a5b6803c1abf6bca012f7ed963e58c68d76ee20b9d751c74a3248"}, + {file = "wrapt-1.14.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5901a312f4d14c59918c221323068fad0540e34324925c8475263841dbdfe68"}, + {file = "wrapt-1.14.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d77c85fedff92cf788face9bfa3ebaa364448ebb1d765302e9af11bf449ca36d"}, + {file = "wrapt-1.14.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d649d616e5c6a678b26d15ece345354f7c2286acd6db868e65fcc5ff7c24a77"}, + {file = "wrapt-1.14.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7d2872609603cb35ca513d7404a94d6d608fc13211563571117046c9d2bcc3d7"}, + {file = "wrapt-1.14.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:ee6acae74a2b91865910eef5e7de37dc6895ad96fa23603d1d27ea69df545015"}, + {file = "wrapt-1.14.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:2b39d38039a1fdad98c87279b48bc5dce2c0ca0d73483b12cb72aa9609278e8a"}, + {file = "wrapt-1.14.1-cp37-cp37m-win32.whl", hash = "sha256:60db23fa423575eeb65ea430cee741acb7c26a1365d103f7b0f6ec412b893853"}, + {file = "wrapt-1.14.1-cp37-cp37m-win_amd64.whl", hash = "sha256:709fe01086a55cf79d20f741f39325018f4df051ef39fe921b1ebe780a66184c"}, + {file = "wrapt-1.14.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8c0ce1e99116d5ab21355d8ebe53d9460366704ea38ae4d9f6933188f327b456"}, + {file = "wrapt-1.14.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e3fb1677c720409d5f671e39bac6c9e0e422584e5f518bfd50aa4cbbea02433f"}, + {file = "wrapt-1.14.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:642c2e7a804fcf18c222e1060df25fc210b9c58db7c91416fb055897fc27e8cc"}, + {file = "wrapt-1.14.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b7c050ae976e286906dd3f26009e117eb000fb2cf3533398c5ad9ccc86867b1"}, + {file = "wrapt-1.14.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef3f72c9666bba2bab70d2a8b79f2c6d2c1a42a7f7e2b0ec83bb2f9e383950af"}, + {file = "wrapt-1.14.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:01c205616a89d09827986bc4e859bcabd64f5a0662a7fe95e0d359424e0e071b"}, + {file = "wrapt-1.14.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5a0f54ce2c092aaf439813735584b9537cad479575a09892b8352fea5e988dc0"}, + {file = "wrapt-1.14.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2cf71233a0ed05ccdabe209c606fe0bac7379fdcf687f39b944420d2a09fdb57"}, + {file = "wrapt-1.14.1-cp38-cp38-win32.whl", hash = "sha256:aa31fdcc33fef9eb2552cbcbfee7773d5a6792c137b359e82879c101e98584c5"}, + {file = "wrapt-1.14.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1967f46ea8f2db647c786e78d8cc7e4313dbd1b0aca360592d8027b8508e24d"}, + {file = "wrapt-1.14.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3232822c7d98d23895ccc443bbdf57c7412c5a65996c30442ebe6ed3df335383"}, + {file = "wrapt-1.14.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:988635d122aaf2bdcef9e795435662bcd65b02f4f4c1ae37fbee7401c440b3a7"}, + {file = "wrapt-1.14.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cca3c2cdadb362116235fdbd411735de4328c61425b0aa9f872fd76d02c4e86"}, + {file = "wrapt-1.14.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d52a25136894c63de15a35bc0bdc5adb4b0e173b9c0d07a2be9d3ca64a332735"}, + {file = "wrapt-1.14.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40e7bc81c9e2b2734ea4bc1aceb8a8f0ceaac7c5299bc5d69e37c44d9081d43b"}, + {file = "wrapt-1.14.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b9b7a708dd92306328117d8c4b62e2194d00c365f18eff11a9b53c6f923b01e3"}, + {file = "wrapt-1.14.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6a9a25751acb379b466ff6be78a315e2b439d4c94c1e99cb7266d40a537995d3"}, + {file = "wrapt-1.14.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:34aa51c45f28ba7f12accd624225e2b1e5a3a45206aa191f6f9aac931d9d56fe"}, + {file = "wrapt-1.14.1-cp39-cp39-win32.whl", hash = "sha256:dee0ce50c6a2dd9056c20db781e9c1cfd33e77d2d569f5d1d9321c641bb903d5"}, + {file = "wrapt-1.14.1-cp39-cp39-win_amd64.whl", hash = "sha256:dee60e1de1898bde3b238f18340eec6148986da0455d8ba7848d50470a7a32fb"}, + {file = "wrapt-1.14.1.tar.gz", hash = "sha256:380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d"}, +] yarl = [ {file = "yarl-1.8.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:abc06b97407868ef38f3d172762f4069323de52f2b70d133d096a48d72215d28"}, {file = "yarl-1.8.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:07b21e274de4c637f3e3b7104694e53260b5fc10d51fb3ec5fed1da8e0f754e3"}, diff --git a/pyproject.toml b/pyproject.toml index ff303188..fa92d0d8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,6 +33,12 @@ pytest-asyncio = "^0.18.3" optional = true dependencies = { cryptography = "^38.0.1", aiohttp = "^3.8.1" } +[tool.poetry.group.open_telemetry] +optional = true +[tool.poetry.group.open_telemetry.dependencies] +temporalio = { version = "*", extras = ["opentelemetry"] } +opentelemetry-exporter-otlp-proto-grpc = "^1.12.0" + [tool.poe.tasks] format = [{cmd = "black ."}, {cmd = "isort ."}] lint = [{cmd = "black --check ."}, {cmd = "isort --check-only ."}, {ref = "lint-types" }] @@ -55,7 +61,12 @@ skip_gitignore = true [tool.mypy] ignore_missing_imports = true +namespace_packages = true [[tool.mypy.overrides]] module = "aiohttp.*" ignore_errors = true + +[[tool.mypy.overrides]] +module = "opentelemetry.*" +ignore_errors = true From a235df6a58e0213b4c0d60156b76f23dfddda105 Mon Sep 17 00:00:00 2001 From: Chad Retz Date: Thu, 27 Oct 2022 08:30:13 -0500 Subject: [PATCH 2/3] Fix formatting --- open_telemetry/worker.py | 1 + 1 file changed, 1 insertion(+) diff --git a/open_telemetry/worker.py b/open_telemetry/worker.py index ae453f6a..6cb46c17 100644 --- a/open_telemetry/worker.py +++ b/open_telemetry/worker.py @@ -2,6 +2,7 @@ from datetime import timedelta from opentelemetry import trace + # See note in README about why Thrift from opentelemetry.exporter.jaeger.thrift import JaegerExporter from opentelemetry.sdk.resources import SERVICE_NAME, Resource From 224e840a274ee9fc9a59228fd341d0e9beeb6848 Mon Sep 17 00:00:00 2001 From: Chad Retz Date: Thu, 27 Oct 2022 13:27:05 -0500 Subject: [PATCH 3/3] Add metrics --- open_telemetry/README.md | 31 +++++++++++++------ .../otel-metrics-collector-config.yaml | 15 +++++++++ open_telemetry/worker.py | 11 +++++++ 3 files changed, 48 insertions(+), 9 deletions(-) create mode 100644 open_telemetry/otel-metrics-collector-config.yaml diff --git a/open_telemetry/README.md b/open_telemetry/README.md index 58700ed9..3f71d8c3 100644 --- a/open_telemetry/README.md +++ b/open_telemetry/README.md @@ -1,18 +1,29 @@ # OpenTelemetry Sample -This sample shows how to configure OpenTelemetry to capture workflow traces. +This sample shows how to configure OpenTelemetry to capture workflow traces and SDK metrics. For this sample, the optional `open_telemetry` dependency group must be included. To include, run: poetry install --with open_telemetry - To run, first see [README.md](../README.md) for prerequisites. Then run the following to start a Jaeger container to view the trace results: - docker run -d --name jaeger -p 16686:16686 -p 6831:6831/udp jaegertracing/all-in-one:latest + docker run -d --name jaeger \ + -p 16686:16686 \ + -p 6831:6831/udp \ + jaegertracing/all-in-one:latest + +Since that is running in the background (`-d`), you can also run the metrics collector in the foreground: -Now, from this directory, start the worker in one terminal: + docker run -p 4317:4317 \ + -v /path/to/samples-python/open_telemetry/otel-metrics-collector-config.yaml:/etc/otel-collector-config.yaml \ + otel/opentelemetry-collector:latest \ + --config=/etc/otel-collector-config.yaml + +Replace `/path/to/samples-python` with the absolute path to the cloned samples repo. + +Now, from this directory, start the worker in its own terminal: poetry run python worker.py @@ -20,9 +31,9 @@ This will start the worker. Then, in another terminal, run the following to exec poetry run python starter.py -The workflow should complete with the hello result. The workflow can now be viewed in Jaeger at http://localhost:16686/. -Under service, select `my-service` and "Find Traces". The workflow should appear and when clicked, may look something -like: +The workflow should complete with the hello result. The workflow trace can now be viewed in Jaeger at +http://localhost:16686/. Under service, select `my-service` and "Find Traces". The workflow should appear and when +clicked, may look something like: ![Jaeger Screenshot](jaeger-screenshot.png) @@ -31,10 +42,12 @@ OpenTelemetry, only the process that started the span may end it. But in Tempora Therefore we intentionally start-then-end in-workflow spans immediately. So while the start time and hierarchy is accurate, the duration is not. +The metrics should have been dumped out in the terminal where the OpenTelemetry collector container is running. + ## OTLP gRPC -Currently this example uses the `opentelemetry-exporter-jaeger-thrift` exporter because the common OTLP gRPC exporter -`opentelemetry-exporter-otlp-proto-grpc` uses an older, incompatible `protobuf` library. See +Currently for tracing this example uses the `opentelemetry-exporter-jaeger-thrift` exporter because the common OTLP gRPC +exporter `opentelemetry-exporter-otlp-proto-grpc` uses an older, incompatible `protobuf` library. See [this issue](https://github.com/open-telemetry/opentelemetry-python/issues/2880) for more information. Once OTel supports latest protobuf, the exporter can be changed and Jaeger could be run with: diff --git a/open_telemetry/otel-metrics-collector-config.yaml b/open_telemetry/otel-metrics-collector-config.yaml new file mode 100644 index 00000000..45265f88 --- /dev/null +++ b/open_telemetry/otel-metrics-collector-config.yaml @@ -0,0 +1,15 @@ +receivers: + otlp: + protocols: + grpc: +exporters: + logging: + loglevel: debug +processors: + batch: +service: + pipelines: + metrics: + receivers: [otlp] + exporters: [logging] + processors: [batch] \ No newline at end of file diff --git a/open_telemetry/worker.py b/open_telemetry/worker.py index 6cb46c17..0b5b3c7a 100644 --- a/open_telemetry/worker.py +++ b/open_telemetry/worker.py @@ -9,6 +9,7 @@ from opentelemetry.sdk.trace import TracerProvider from opentelemetry.sdk.trace.export import BatchSpanProcessor from temporalio import activity, workflow +from temporalio.bridge import telemetry from temporalio.client import Client from temporalio.contrib.opentelemetry import TracingInterceptor from temporalio.worker import Worker @@ -34,10 +35,20 @@ async def compose_greeting(name: str) -> str: def init_opentelemetry() -> None: + # Setup global tracer for workflow traces provider = TracerProvider(resource=Resource.create({SERVICE_NAME: "my-service"})) provider.add_span_processor(BatchSpanProcessor(JaegerExporter())) trace.set_tracer_provider(provider) + # Setup SDK metrics to OTel endpoint + telemetry.init_telemetry( + telemetry.TelemetryConfig( + otel_metrics=telemetry.OtelCollectorConfig( + url="http://localhost:4317", headers={} + ) + ) + ) + async def main(): init_opentelemetry()