mirror of
https://github.com/open-telemetry/opentelemetry-python-contrib.git
synced 2025-07-28 20:52:57 +08:00
Instrumentation runtime checks (#475)
This commit is contained in:
4
.github/workflows/test.yml
vendored
4
.github/workflows/test.yml
vendored
@ -45,7 +45,7 @@ jobs:
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: .tox
|
||||
key: tox-cache-${{ env.RUN_MATRIX_COMBINATION }}-${{ hashFiles('tox.ini', 'dev-requirements.txt') }}
|
||||
key: v2-build-tox-cache-${{ env.RUN_MATRIX_COMBINATION }}-${{ hashFiles('tox.ini', 'dev-requirements.txt') }}
|
||||
- name: run tox
|
||||
run: tox -f ${{ matrix.python-version }}-${{ matrix.package }} -- --benchmark-json=${{ env.RUN_MATRIX_COMBINATION }}-benchmark.json
|
||||
- name: Find and merge benchmarks
|
||||
@ -99,6 +99,6 @@ jobs:
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: .tox
|
||||
key: v2-tox-cache-${{ matrix.tox-environment }}-${{ hashFiles('tox.ini', 'dev-requirements.txt', 'docs-requirements.txt') }}
|
||||
key: v2-misc-tox-cache-${{ matrix.tox-environment }}-${{ hashFiles('tox.ini', 'dev-requirements.txt', 'docs-requirements.txt') }}
|
||||
- name: run tox
|
||||
run: tox -e ${{ matrix.tox-environment }}
|
||||
|
@ -21,6 +21,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
## [0.21b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.2.0-0.21b0) - 2021-05-11
|
||||
|
||||
### Changed
|
||||
- Instrumentation packages don't specify the libraries they instrument as dependencies
|
||||
anymore. Instead, they verify the correct version of libraries are installed at runtime.
|
||||
([#475](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/475))
|
||||
- `opentelemetry-propagator-ot-trace` Use `TraceFlags` object in `extract`
|
||||
([#472](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/472))
|
||||
- Set the `traced_request_attrs` of FalconInstrumentor by an argument correctly.
|
||||
|
@ -186,7 +186,7 @@ class DatadogExportSpanProcessor(SpanProcessor):
|
||||
self.flush_condition.notify()
|
||||
|
||||
def _drain_queue(self):
|
||||
""""Export all elements until queue is empty.
|
||||
"""Export all elements until queue is empty.
|
||||
|
||||
Can only be called from the worker thread context because it invokes
|
||||
`export` that is not thread safe.
|
||||
|
@ -41,7 +41,6 @@ install_requires =
|
||||
opentelemetry-api == 1.3.0.dev0
|
||||
opentelemetry-semantic-conventions == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
aiohttp ~= 3.0
|
||||
wrapt >= 1.0.0, < 2.0.0
|
||||
|
||||
[options.packages.find]
|
||||
|
@ -18,10 +18,24 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
@ -30,8 +44,28 @@ VERSION_FILENAME = os.path.join(
|
||||
"aiohttp_client",
|
||||
"version.py",
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
"opentelemetry",
|
||||
"instrumentation",
|
||||
"aiohttp_client",
|
||||
"package.py",
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -64,12 +64,14 @@ API
|
||||
|
||||
import types
|
||||
import typing
|
||||
from typing import Collection
|
||||
|
||||
import aiohttp
|
||||
import wrapt
|
||||
|
||||
from opentelemetry import context as context_api
|
||||
from opentelemetry import trace
|
||||
from opentelemetry.instrumentation.aiohttp_client.package import _instruments
|
||||
from opentelemetry.instrumentation.aiohttp_client.version import __version__
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.instrumentation.utils import (
|
||||
@ -288,6 +290,9 @@ class AioHttpClientInstrumentor(BaseInstrumentor):
|
||||
See `BaseInstrumentor`
|
||||
"""
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
"""Instruments aiohttp ClientSession
|
||||
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright 2020, OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("aiohttp ~= 3.0",)
|
@ -42,7 +42,6 @@ install_requires =
|
||||
opentelemetry-semantic-conventions == 0.22.dev0
|
||||
opentelemetry-instrumentation-dbapi == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
aiopg >= 0.13.0
|
||||
wrapt >= 1.0.0, < 2.0.0
|
||||
|
||||
[options.extras_require]
|
||||
|
@ -18,15 +18,44 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "aiopg", "version.py"
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "aiopg", "package.py"
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -45,7 +45,10 @@ API
|
||||
---
|
||||
"""
|
||||
|
||||
from typing import Collection
|
||||
|
||||
from opentelemetry.instrumentation.aiopg import wrappers
|
||||
from opentelemetry.instrumentation.aiopg.package import _instruments
|
||||
from opentelemetry.instrumentation.aiopg.version import __version__
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
|
||||
@ -60,6 +63,9 @@ class AiopgInstrumentor(BaseInstrumentor):
|
||||
|
||||
_DATABASE_SYSTEM = "postgresql"
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
"""Integrate with PostgreSQL aiopg library.
|
||||
aiopg: https://github.com/aio-libs/aiopg
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("aiopg >= 0.13.0",)
|
@ -41,7 +41,6 @@ install_requires =
|
||||
opentelemetry-api == 1.3.0.dev0
|
||||
opentelemetry-semantic-conventions == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
asgiref ~= 3.0
|
||||
|
||||
[options.extras_require]
|
||||
test =
|
||||
|
@ -18,15 +18,44 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "asgi", "version.py"
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "asgi", "package.py"
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -112,8 +112,7 @@ def collect_request_attributes(scope):
|
||||
|
||||
|
||||
def get_host_port_url_tuple(scope):
|
||||
"""Returns (host, port, full_url) tuple.
|
||||
"""
|
||||
"""Returns (host, port, full_url) tuple."""
|
||||
server = scope.get("server") or ["0.0.0.0", 80]
|
||||
port = server[1]
|
||||
server_host = server[0] + (":" + str(port) if port != 80 else "")
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("asgiref ~= 3.0",)
|
@ -41,7 +41,6 @@ install_requires =
|
||||
opentelemetry-api == 1.3.0.dev0
|
||||
opentelemetry-semantic-conventions == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
asyncpg >= 0.12.0
|
||||
|
||||
[options.extras_require]
|
||||
test =
|
||||
|
@ -18,10 +18,24 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
@ -30,8 +44,28 @@ VERSION_FILENAME = os.path.join(
|
||||
"asyncpg",
|
||||
"version.py",
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
"opentelemetry",
|
||||
"instrumentation",
|
||||
"asyncpg",
|
||||
"package.py",
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -34,11 +34,14 @@ API
|
||||
---
|
||||
"""
|
||||
|
||||
from typing import Collection
|
||||
|
||||
import asyncpg
|
||||
import wrapt
|
||||
from asyncpg import exceptions
|
||||
|
||||
from opentelemetry import trace
|
||||
from opentelemetry.instrumentation.asyncpg.package import _instruments
|
||||
from opentelemetry.instrumentation.asyncpg.version import __version__
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.instrumentation.utils import unwrap
|
||||
@ -98,6 +101,9 @@ class AsyncPGInstrumentor(BaseInstrumentor):
|
||||
self.capture_parameters = capture_parameters
|
||||
self._tracer = None
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
tracer_provider = kwargs.get("tracer_provider")
|
||||
self._tracer = trace.get_tracer(__name__, __version__, tracer_provider)
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("asyncpg >= 0.12.0",)
|
@ -38,7 +38,6 @@ package_dir=
|
||||
=src
|
||||
packages=find_namespace:
|
||||
install_requires =
|
||||
boto ~= 2.0
|
||||
opentelemetry-api == 1.3.0.dev0
|
||||
opentelemetry-semantic-conventions == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
@ -46,7 +45,6 @@ install_requires =
|
||||
|
||||
[options.extras_require]
|
||||
test =
|
||||
boto~=2.0
|
||||
moto~=2.0
|
||||
opentelemetry-test == 0.22.dev0
|
||||
|
||||
|
@ -18,15 +18,44 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "boto", "version.py"
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "boto", "package.py"
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -43,10 +43,12 @@ API
|
||||
|
||||
import logging
|
||||
from inspect import currentframe
|
||||
from typing import Collection
|
||||
|
||||
from boto.connection import AWSAuthConnection, AWSQueryConnection
|
||||
from wrapt import wrap_function_wrapper
|
||||
|
||||
from opentelemetry.instrumentation.boto.package import _instruments
|
||||
from opentelemetry.instrumentation.boto.version import __version__
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.instrumentation.utils import unwrap
|
||||
@ -79,6 +81,9 @@ class BotoInstrumentor(BaseInstrumentor):
|
||||
super().__init__()
|
||||
self._original_boto = None
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
# AWSQueryConnection and AWSAuthConnection are two different classes
|
||||
# called by different services for connection.
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("boto~=2.0",)
|
@ -38,7 +38,6 @@ package_dir=
|
||||
=src
|
||||
packages=find_namespace:
|
||||
install_requires =
|
||||
botocore ~= 1.0
|
||||
opentelemetry-api == 1.3.0.dev0
|
||||
opentelemetry-semantic-conventions == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
|
@ -18,10 +18,24 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
@ -30,8 +44,28 @@ VERSION_FILENAME = os.path.join(
|
||||
"botocore",
|
||||
"version.py",
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
"opentelemetry",
|
||||
"instrumentation",
|
||||
"botocore",
|
||||
"package.py",
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -48,12 +48,14 @@ API
|
||||
|
||||
import json
|
||||
import logging
|
||||
from typing import Collection
|
||||
|
||||
from botocore.client import BaseClient
|
||||
from botocore.exceptions import ClientError
|
||||
from wrapt import wrap_function_wrapper
|
||||
|
||||
from opentelemetry import context as context_api
|
||||
from opentelemetry.instrumentation.botocore.package import _instruments
|
||||
from opentelemetry.instrumentation.botocore.version import __version__
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.instrumentation.utils import unwrap
|
||||
@ -78,6 +80,9 @@ class BotocoreInstrumentor(BaseInstrumentor):
|
||||
See `BaseInstrumentor`
|
||||
"""
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
|
||||
# pylint: disable=attribute-defined-outside-init
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("botocore ~= 1.0",)
|
@ -38,7 +38,6 @@ package_dir=
|
||||
=src
|
||||
packages=find_namespace:
|
||||
install_requires =
|
||||
celery >= 4.0, < 6.0
|
||||
opentelemetry-api == 1.3.0.dev0
|
||||
opentelemetry-semantic-conventions == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
@ -46,7 +45,6 @@ install_requires =
|
||||
[options.extras_require]
|
||||
test =
|
||||
pytest
|
||||
celery >= 4.0, < 6.0
|
||||
opentelemetry-test == 0.22.dev0
|
||||
|
||||
[options.packages.find]
|
||||
|
@ -18,15 +18,44 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "celery", "version.py"
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "celery", "package.py"
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -52,12 +52,13 @@ API
|
||||
"""
|
||||
|
||||
import logging
|
||||
from collections.abc import Iterable
|
||||
from typing import Collection, Iterable
|
||||
|
||||
from celery import signals # pylint: disable=no-name-in-module
|
||||
|
||||
from opentelemetry import trace
|
||||
from opentelemetry.instrumentation.celery import utils
|
||||
from opentelemetry.instrumentation.celery.package import _instruments
|
||||
from opentelemetry.instrumentation.celery.version import __version__
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.propagate import extract, inject
|
||||
@ -95,6 +96,9 @@ celery_getter = CeleryGetter()
|
||||
|
||||
|
||||
class CeleryInstrumentor(BaseInstrumentor):
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
tracer_provider = kwargs.get("tracer_provider")
|
||||
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("celery >= 4.0, < 6.0",)
|
@ -18,15 +18,44 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "dbapi", "version.py"
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "dbapi", "package.py"
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = tuple()
|
@ -13,3 +13,5 @@
|
||||
# limitations under the License.
|
||||
|
||||
__version__ = "0.22.dev0"
|
||||
|
||||
_instruments = tuple()
|
||||
|
@ -38,7 +38,6 @@ package_dir=
|
||||
=src
|
||||
packages=find_namespace:
|
||||
install_requires =
|
||||
django >= 1.10
|
||||
opentelemetry-util-http == 0.22.dev0
|
||||
opentelemetry-instrumentation-wsgi == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
|
@ -18,15 +18,44 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "django", "version.py"
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "django", "package.py"
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -75,6 +75,7 @@ and right before the span is finished while processing a response. The hooks can
|
||||
|
||||
from logging import getLogger
|
||||
from os import environ
|
||||
from typing import Collection
|
||||
|
||||
from django.conf import settings
|
||||
|
||||
@ -82,6 +83,7 @@ from opentelemetry.instrumentation.django.environment_variables import (
|
||||
OTEL_PYTHON_DJANGO_INSTRUMENT,
|
||||
)
|
||||
from opentelemetry.instrumentation.django.middleware import _DjangoMiddleware
|
||||
from opentelemetry.instrumentation.django.package import _instruments
|
||||
from opentelemetry.instrumentation.django.version import __version__
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.trace import get_tracer
|
||||
@ -99,6 +101,9 @@ class DjangoInstrumentor(BaseInstrumentor):
|
||||
[_DjangoMiddleware.__module__, _DjangoMiddleware.__qualname__]
|
||||
)
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
|
||||
# FIXME this is probably a pattern that will show up in the rest of the
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("django >= 1.10",)
|
@ -42,7 +42,6 @@ install_requires =
|
||||
opentelemetry-semantic-conventions == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
wrapt >= 1.0.0, < 2.0.0
|
||||
elasticsearch >= 2.0
|
||||
|
||||
[options.extras_require]
|
||||
test =
|
||||
|
@ -18,10 +18,24 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
@ -30,8 +44,28 @@ VERSION_FILENAME = os.path.join(
|
||||
"elasticsearch",
|
||||
"version.py",
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
"opentelemetry",
|
||||
"instrumentation",
|
||||
"elasticsearch",
|
||||
"package.py",
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -48,11 +48,13 @@ environment variable or by passing the prefix as an argument to the instrumentor
|
||||
|
||||
from logging import getLogger
|
||||
from os import environ
|
||||
from typing import Collection
|
||||
|
||||
import elasticsearch
|
||||
import elasticsearch.exceptions
|
||||
from wrapt import wrap_function_wrapper as _wrap
|
||||
|
||||
from opentelemetry.instrumentation.elasticsearch.package import _instruments
|
||||
from opentelemetry.instrumentation.elasticsearch.version import __version__
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.instrumentation.utils import unwrap
|
||||
@ -87,6 +89,9 @@ class ElasticsearchInstrumentor(BaseInstrumentor):
|
||||
self._span_name_prefix = span_name_prefix.strip()
|
||||
super().__init__()
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
"""
|
||||
Instruments elasticsarch module
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("elasticsearch >= 2.0",)
|
@ -39,7 +39,6 @@ package_dir=
|
||||
=src
|
||||
packages=find_namespace:
|
||||
install_requires =
|
||||
falcon ~= 2.0
|
||||
opentelemetry-instrumentation-wsgi == 0.22.dev0
|
||||
opentelemetry-util-http == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
@ -48,7 +47,6 @@ install_requires =
|
||||
|
||||
[options.extras_require]
|
||||
test =
|
||||
falcon ~= 2.0
|
||||
opentelemetry-test == 0.22.dev0
|
||||
parameterized == 0.7.4
|
||||
|
||||
|
@ -18,15 +18,44 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "falcon", "version.py"
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "falcon", "package.py"
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -92,11 +92,13 @@ API
|
||||
from functools import partial
|
||||
from logging import getLogger
|
||||
from sys import exc_info
|
||||
from typing import Collection
|
||||
|
||||
import falcon
|
||||
|
||||
import opentelemetry.instrumentation.wsgi as otel_wsgi
|
||||
from opentelemetry import context, trace
|
||||
from opentelemetry.instrumentation.falcon.package import _instruments
|
||||
from opentelemetry.instrumentation.falcon.version import __version__
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.instrumentation.propagators import (
|
||||
@ -134,6 +136,9 @@ class FalconInstrumentor(BaseInstrumentor):
|
||||
See `BaseInstrumentor`
|
||||
"""
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
self._original_falcon_api = falcon.API
|
||||
falcon.API = partial(_InstrumentedFalconAPI, **kwargs)
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("falcon ~= 2.0",)
|
@ -51,7 +51,6 @@ opentelemetry_instrumentor =
|
||||
[options.extras_require]
|
||||
test =
|
||||
opentelemetry-test == 0.22.dev0
|
||||
fastapi ~= 0.58.1
|
||||
requests ~= 2.23.0 # needed for testclient
|
||||
|
||||
[options.packages.find]
|
||||
|
@ -18,10 +18,24 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
@ -30,8 +44,28 @@ VERSION_FILENAME = os.path.join(
|
||||
"fastapi",
|
||||
"version.py",
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
"opentelemetry",
|
||||
"instrumentation",
|
||||
"fastapi",
|
||||
"package.py",
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -12,10 +12,13 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from typing import Collection
|
||||
|
||||
import fastapi
|
||||
from starlette.routing import Match
|
||||
|
||||
from opentelemetry.instrumentation.asgi import OpenTelemetryMiddleware
|
||||
from opentelemetry.instrumentation.asgi.package import _instruments
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.semconv.trace import SpanAttributes
|
||||
from opentelemetry.util.http import get_excluded_urls
|
||||
@ -33,8 +36,7 @@ class FastAPIInstrumentor(BaseInstrumentor):
|
||||
|
||||
@staticmethod
|
||||
def instrument_app(app: fastapi.FastAPI, tracer_provider=None):
|
||||
"""Instrument an uninstrumented FastAPI application.
|
||||
"""
|
||||
"""Instrument an uninstrumented FastAPI application."""
|
||||
if not getattr(app, "is_instrumented_by_opentelemetry", False):
|
||||
app.add_middleware(
|
||||
OpenTelemetryMiddleware,
|
||||
@ -44,6 +46,9 @@ class FastAPIInstrumentor(BaseInstrumentor):
|
||||
)
|
||||
app.is_instrumented_by_opentelemetry = True
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
self._original_fastapi = fastapi.FastAPI
|
||||
_InstrumentedFastAPI._tracer_provider = kwargs.get("tracer_provider")
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("fastapi ~= 0.58.1",)
|
@ -38,7 +38,6 @@ package_dir=
|
||||
=src
|
||||
packages=find_namespace:
|
||||
install_requires =
|
||||
flask ~= 1.0
|
||||
opentelemetry-util-http == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
opentelemetry-instrumentation-wsgi == 0.22.dev0
|
||||
@ -47,7 +46,6 @@ install_requires =
|
||||
|
||||
[options.extras_require]
|
||||
test =
|
||||
flask~=1.0
|
||||
opentelemetry-test == 0.22.dev0
|
||||
|
||||
[options.entry_points]
|
||||
|
@ -18,15 +18,44 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "flask", "version.py"
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "flask", "package.py"
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -48,11 +48,13 @@ API
|
||||
"""
|
||||
|
||||
from logging import getLogger
|
||||
from typing import Collection
|
||||
|
||||
import flask
|
||||
|
||||
import opentelemetry.instrumentation.wsgi as otel_wsgi
|
||||
from opentelemetry import context, trace
|
||||
from opentelemetry.instrumentation.flask.package import _instruments
|
||||
from opentelemetry.instrumentation.flask.version import __version__
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.instrumentation.propagators import (
|
||||
@ -209,6 +211,9 @@ class FlaskInstrumentor(BaseInstrumentor):
|
||||
See `BaseInstrumentor`
|
||||
"""
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
self._original_flask = flask.Flask
|
||||
name_callback = kwargs.get("name_callback")
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("flask ~= 1.0",)
|
@ -42,7 +42,6 @@ install_requires =
|
||||
opentelemetry-sdk == 1.3.0.dev0
|
||||
opentelemetry-semantic-conventions == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
grpcio ~= 1.27
|
||||
wrapt >= 1.0.0, < 2.0.0
|
||||
|
||||
[options.extras_require]
|
||||
|
@ -18,15 +18,44 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "grpc", "version.py"
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "grpc", "package.py"
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -118,11 +118,14 @@ You can also add the instrumentor manually, rather than using
|
||||
interceptors = [server_interceptor()])
|
||||
|
||||
"""
|
||||
from typing import Collection
|
||||
|
||||
import grpc # pylint:disable=import-self
|
||||
from wrapt import wrap_function_wrapper as _wrap
|
||||
|
||||
from opentelemetry import trace
|
||||
from opentelemetry.instrumentation.grpc.grpcext import intercept_channel
|
||||
from opentelemetry.instrumentation.grpc.package import _instruments
|
||||
from opentelemetry.instrumentation.grpc.version import __version__
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.instrumentation.utils import unwrap
|
||||
@ -145,6 +148,9 @@ class GrpcInstrumentorServer(BaseInstrumentor):
|
||||
|
||||
# pylint:disable=attribute-defined-outside-init, redefined-outer-name
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
self._original_func = grpc.server
|
||||
tracer_provider = kwargs.get("tracer_provider")
|
||||
@ -194,6 +200,9 @@ class GrpcInstrumentorClient(BaseInstrumentor):
|
||||
|
||||
return tuple(types)
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
for ctype in self._which_channel(kwargs):
|
||||
_wrap(
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("grpcio ~= 1.27",)
|
@ -39,7 +39,6 @@ packages=find_namespace:
|
||||
install_requires =
|
||||
opentelemetry-api == 1.3.0.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
jinja2~=2.7
|
||||
wrapt >= 1.0.0, < 2.0.0
|
||||
|
||||
[options.extras_require]
|
||||
|
@ -18,15 +18,44 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "jinja2", "version.py"
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "jinja2", "package.py"
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -40,12 +40,14 @@ API
|
||||
# pylint: disable=no-value-for-parameter
|
||||
|
||||
import logging
|
||||
from typing import Collection
|
||||
|
||||
import jinja2
|
||||
from wrapt import ObjectProxy
|
||||
from wrapt import wrap_function_wrapper as _wrap
|
||||
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.instrumentation.jinja2.package import _instruments
|
||||
from opentelemetry.instrumentation.jinja2.version import __version__
|
||||
from opentelemetry.instrumentation.utils import unwrap
|
||||
from opentelemetry.trace import SpanKind, get_tracer
|
||||
@ -58,8 +60,7 @@ DEFAULT_TEMPLATE_NAME = "<memory>"
|
||||
|
||||
|
||||
def _with_tracer_wrapper(func):
|
||||
"""Helper for providing tracer for wrapper functions.
|
||||
"""
|
||||
"""Helper for providing tracer for wrapper functions."""
|
||||
|
||||
def _with_tracer(tracer):
|
||||
def wrapper(wrapped, instance, args, kwargs):
|
||||
@ -72,8 +73,7 @@ def _with_tracer_wrapper(func):
|
||||
|
||||
@_with_tracer_wrapper
|
||||
def _wrap_render(tracer, wrapped, instance, args, kwargs):
|
||||
"""Wrap `Template.render()` or `Template.generate()`
|
||||
"""
|
||||
"""Wrap `Template.render()` or `Template.generate()`"""
|
||||
with tracer.start_as_current_span(
|
||||
"jinja2.render", kind=SpanKind.INTERNAL,
|
||||
) as span:
|
||||
@ -123,6 +123,9 @@ class Jinja2Instrumentor(BaseInstrumentor):
|
||||
See `BaseInstrumentor`
|
||||
"""
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
tracer_provider = kwargs.get("tracer_provider")
|
||||
tracer = get_tracer(__name__, __version__, tracer_provider)
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("jinja2~=2.7",)
|
@ -18,10 +18,24 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
@ -30,8 +44,28 @@ VERSION_FILENAME = os.path.join(
|
||||
"logging",
|
||||
"version.py",
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
"opentelemetry",
|
||||
"instrumentation",
|
||||
"logging",
|
||||
"package.py",
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
import logging # pylint: disable=import-self
|
||||
from os import environ
|
||||
from typing import Callable
|
||||
from typing import Collection
|
||||
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.instrumentation.logging.constants import (
|
||||
@ -28,6 +28,7 @@ from opentelemetry.instrumentation.logging.environment_variables import (
|
||||
OTEL_PYTHON_LOG_FORMAT,
|
||||
OTEL_PYTHON_LOG_LEVEL,
|
||||
)
|
||||
from opentelemetry.instrumentation.logging.package import _instruments
|
||||
from opentelemetry.trace import (
|
||||
INVALID_SPAN,
|
||||
INVALID_SPAN_CONTEXT,
|
||||
@ -73,6 +74,9 @@ class LoggingInstrumentor(BaseInstrumentor): # pylint: disable=empty-docstring
|
||||
|
||||
_old_factory = None
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
service_name = ""
|
||||
provider = kwargs.get("tracer_provider", None) or get_tracer_provider()
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = tuple()
|
@ -13,3 +13,5 @@
|
||||
# limitations under the License.
|
||||
|
||||
__version__ = "0.22.dev0"
|
||||
|
||||
_instruments = tuple()
|
||||
|
@ -41,7 +41,6 @@ install_requires =
|
||||
opentelemetry-api == 1.3.0.dev0
|
||||
opentelemetry-instrumentation-dbapi == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
mysql-connector-python ~= 8.0
|
||||
wrapt >= 1.0.0, < 2.0.0
|
||||
|
||||
[options.extras_require]
|
||||
|
@ -18,15 +18,44 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "mysql", "version.py"
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "mysql", "package.py"
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -38,10 +38,13 @@ API
|
||||
---
|
||||
"""
|
||||
|
||||
from typing import Collection
|
||||
|
||||
import mysql.connector
|
||||
|
||||
from opentelemetry.instrumentation import dbapi
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.instrumentation.mysql.package import _instruments
|
||||
from opentelemetry.instrumentation.mysql.version import __version__
|
||||
from opentelemetry.trace import get_tracer
|
||||
|
||||
@ -56,6 +59,9 @@ class MySQLInstrumentor(BaseInstrumentor):
|
||||
|
||||
_DATABASE_SYSTEM = "mysql"
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
"""Integrate with MySQL Connector/Python library.
|
||||
https://dev.mysql.com/doc/connector-python/en/
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("mysql-connector-python ~= 8.0",)
|
@ -41,7 +41,6 @@ install_requires =
|
||||
opentelemetry-api == 1.3.0.dev0
|
||||
opentelemetry-instrumentation-dbapi == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
psycopg2-binary >= 2.7.3.1
|
||||
wrapt >= 1.0.0, < 2.0.0
|
||||
|
||||
[options.extras_require]
|
||||
|
@ -18,10 +18,24 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
@ -30,8 +44,28 @@ VERSION_FILENAME = os.path.join(
|
||||
"psycopg2",
|
||||
"version.py",
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
"opentelemetry",
|
||||
"instrumentation",
|
||||
"psycopg2",
|
||||
"package.py",
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -40,6 +40,7 @@ API
|
||||
"""
|
||||
|
||||
import typing
|
||||
from typing import Collection
|
||||
|
||||
import psycopg2
|
||||
from psycopg2.extensions import (
|
||||
@ -49,6 +50,7 @@ from psycopg2.sql import Composed # pylint: disable=no-name-in-module
|
||||
|
||||
from opentelemetry.instrumentation import dbapi
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.instrumentation.psycopg2.package import _instruments
|
||||
from opentelemetry.instrumentation.psycopg2.version import __version__
|
||||
|
||||
_OTEL_CURSOR_FACTORY_KEY = "_otel_orig_cursor_factory"
|
||||
@ -64,6 +66,9 @@ class Psycopg2Instrumentor(BaseInstrumentor):
|
||||
|
||||
_DATABASE_SYSTEM = "postgresql"
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
"""Integrate with PostgreSQL Psycopg library.
|
||||
Psycopg: http://initd.org/psycopg/
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("psycopg2-binary >= 2.7.3.1",)
|
@ -41,7 +41,6 @@ install_requires =
|
||||
opentelemetry-api == 1.3.0.dev0
|
||||
opentelemetry-semantic-conventions == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
pymemcache ~= 1.3
|
||||
wrapt >= 1.0.0, < 2.0.0
|
||||
|
||||
[options.extras_require]
|
||||
|
@ -18,10 +18,24 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
@ -30,8 +44,28 @@ VERSION_FILENAME = os.path.join(
|
||||
"pymemcache",
|
||||
"version.py",
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
"opentelemetry",
|
||||
"instrumentation",
|
||||
"pymemcache",
|
||||
"package.py",
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -38,12 +38,14 @@ API
|
||||
# pylint: disable=no-value-for-parameter
|
||||
|
||||
import logging
|
||||
from typing import Collection
|
||||
|
||||
import pymemcache
|
||||
from wrapt import ObjectProxy
|
||||
from wrapt import wrap_function_wrapper as _wrap
|
||||
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.instrumentation.pymemcache.package import _instruments
|
||||
from opentelemetry.instrumentation.pymemcache.version import __version__
|
||||
from opentelemetry.instrumentation.utils import unwrap
|
||||
from opentelemetry.semconv.trace import (
|
||||
@ -181,6 +183,9 @@ def _get_address_attributes(instance):
|
||||
class PymemcacheInstrumentor(BaseInstrumentor):
|
||||
"""An instrumentor for pymemcache See `BaseInstrumentor`"""
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
tracer_provider = kwargs.get("tracer_provider")
|
||||
tracer = get_tracer(__name__, __version__, tracer_provider)
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("pymemcache ~= 1.3",)
|
@ -41,7 +41,6 @@ install_requires =
|
||||
opentelemetry-api == 1.3.0.dev0
|
||||
opentelemetry-semantic-conventions == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
pymongo ~= 3.1
|
||||
|
||||
[options.extras_require]
|
||||
test =
|
||||
|
@ -18,10 +18,24 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
@ -30,8 +44,28 @@ VERSION_FILENAME = os.path.join(
|
||||
"pymongo",
|
||||
"version.py",
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
"opentelemetry",
|
||||
"instrumentation",
|
||||
"pymongo",
|
||||
"package.py",
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -37,10 +37,13 @@ API
|
||||
---
|
||||
"""
|
||||
|
||||
from typing import Collection
|
||||
|
||||
from pymongo import monitoring
|
||||
|
||||
from opentelemetry import trace
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.instrumentation.pymongo.package import _instruments
|
||||
from opentelemetry.instrumentation.pymongo.version import __version__
|
||||
from opentelemetry.semconv.trace import DbSystemValues, SpanAttributes
|
||||
from opentelemetry.trace import SpanKind, get_tracer
|
||||
@ -127,6 +130,9 @@ class PymongoInstrumentor(BaseInstrumentor):
|
||||
# instrumentation an enabled flag is implemented in CommandTracer,
|
||||
# it's checked in the different listeners.
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
"""Integrate with pymongo to trace it using event listener.
|
||||
https://api.mongodb.com/python/current/api/pymongo/monitoring.html
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("pymongo ~= 3.1",)
|
@ -41,7 +41,6 @@ install_requires =
|
||||
opentelemetry-api == 1.3.0.dev0
|
||||
opentelemetry-instrumentation-dbapi == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
PyMySQL ~= 0.10.1
|
||||
|
||||
[options.extras_require]
|
||||
test =
|
||||
|
@ -18,10 +18,24 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
@ -30,8 +44,28 @@ VERSION_FILENAME = os.path.join(
|
||||
"pymysql",
|
||||
"version.py",
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
"opentelemetry",
|
||||
"instrumentation",
|
||||
"pymysql",
|
||||
"package.py",
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -40,10 +40,13 @@ API
|
||||
---
|
||||
"""
|
||||
|
||||
from typing import Collection
|
||||
|
||||
import pymysql
|
||||
|
||||
from opentelemetry.instrumentation import dbapi
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.instrumentation.pymysql.package import _instruments
|
||||
from opentelemetry.instrumentation.pymysql.version import __version__
|
||||
|
||||
|
||||
@ -57,6 +60,9 @@ class PyMySQLInstrumentor(BaseInstrumentor):
|
||||
|
||||
_DATABASE_SYSTEM = "mysql"
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
"""Integrate with the PyMySQL library.
|
||||
https://github.com/PyMySQL/PyMySQL/
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("PyMySQL ~= 0.10.1",)
|
@ -38,7 +38,6 @@ package_dir=
|
||||
=src
|
||||
packages=find_namespace:
|
||||
install_requires =
|
||||
pyramid >= 1.7
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
opentelemetry-api == 1.3.0.dev0
|
||||
opentelemetry-semantic-conventions == 0.22.dev0
|
||||
|
@ -18,10 +18,24 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
@ -30,8 +44,28 @@ VERSION_FILENAME = os.path.join(
|
||||
"pyramid",
|
||||
"version.py",
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
"opentelemetry",
|
||||
"instrumentation",
|
||||
"pyramid",
|
||||
"package.py",
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -79,6 +79,7 @@ API
|
||||
"""
|
||||
|
||||
import typing
|
||||
from typing import Collection
|
||||
|
||||
from pyramid.config import Configurator
|
||||
from pyramid.path import caller_package
|
||||
@ -92,6 +93,7 @@ from opentelemetry.instrumentation.pyramid.callbacks import (
|
||||
TWEEN_NAME,
|
||||
trace_tween_factory,
|
||||
)
|
||||
from opentelemetry.instrumentation.pyramid.package import _instruments
|
||||
from opentelemetry.instrumentation.pyramid.version import __version__
|
||||
from opentelemetry.instrumentation.utils import unwrap
|
||||
from opentelemetry.trace import TracerProvider, get_tracer
|
||||
@ -125,6 +127,9 @@ def _traced_init(wrapped, instance, args, kwargs):
|
||||
|
||||
|
||||
class PyramidInstrumentor(BaseInstrumentor):
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
"""Integrate with Pyramid Python library.
|
||||
https://docs.pylonsproject.org/projects/pyramid/en/latest/
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("pyramid >= 1.7",)
|
@ -41,7 +41,6 @@ install_requires =
|
||||
opentelemetry-api == 1.3.0.dev0
|
||||
opentelemetry-semantic-conventions == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
redis >= 2.6
|
||||
wrapt >= 1.12.1
|
||||
|
||||
[options.extras_require]
|
||||
|
@ -18,15 +18,44 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "redis", "version.py"
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR, "src", "opentelemetry", "instrumentation", "redis", "package.py"
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -42,11 +42,14 @@ API
|
||||
---
|
||||
"""
|
||||
|
||||
from typing import Collection
|
||||
|
||||
import redis
|
||||
from wrapt import ObjectProxy, wrap_function_wrapper
|
||||
|
||||
from opentelemetry import trace
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.instrumentation.redis.package import _instruments
|
||||
from opentelemetry.instrumentation.redis.util import (
|
||||
_extract_conn_attributes,
|
||||
_format_command_args,
|
||||
@ -110,6 +113,9 @@ class RedisInstrumentor(BaseInstrumentor):
|
||||
See `BaseInstrumentor`
|
||||
"""
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
tracer_provider = kwargs.get("tracer_provider")
|
||||
setattr(
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("redis >= 2.6",)
|
@ -41,7 +41,6 @@ install_requires =
|
||||
opentelemetry-api == 1.3.0.dev0
|
||||
opentelemetry-semantic-conventions == 0.22.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
requests ~= 2.0
|
||||
|
||||
[options.extras_require]
|
||||
test =
|
||||
|
@ -18,10 +18,24 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
@ -30,8 +44,28 @@ VERSION_FILENAME = os.path.join(
|
||||
"requests",
|
||||
"version.py",
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
"opentelemetry",
|
||||
"instrumentation",
|
||||
"requests",
|
||||
"package.py",
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
@ -35,6 +35,7 @@ API
|
||||
|
||||
import functools
|
||||
import types
|
||||
from typing import Collection
|
||||
|
||||
from requests.models import Response
|
||||
from requests.sessions import Session
|
||||
@ -42,6 +43,7 @@ from requests.structures import CaseInsensitiveDict
|
||||
|
||||
from opentelemetry import context
|
||||
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
||||
from opentelemetry.instrumentation.requests.package import _instruments
|
||||
from opentelemetry.instrumentation.requests.version import __version__
|
||||
from opentelemetry.instrumentation.utils import http_status_to_status_code
|
||||
from opentelemetry.propagate import inject
|
||||
@ -213,6 +215,9 @@ class RequestsInstrumentor(BaseInstrumentor):
|
||||
See `BaseInstrumentor`
|
||||
"""
|
||||
|
||||
def instrumentation_dependencies(self) -> Collection[str]:
|
||||
return _instruments
|
||||
|
||||
def _instrument(self, **kwargs):
|
||||
"""Instruments requests module
|
||||
|
||||
|
@ -0,0 +1,16 @@
|
||||
# Copyright The OpenTelemetry Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
_instruments = ("requests ~= 2.0",)
|
@ -40,7 +40,6 @@ packages=find_namespace:
|
||||
install_requires =
|
||||
opentelemetry-api == 1.3.0.dev0
|
||||
opentelemetry-instrumentation == 0.22.dev0
|
||||
scikit-learn ~= 0.22.0
|
||||
|
||||
[options.extras_require]
|
||||
test =
|
||||
|
@ -18,10 +18,24 @@
|
||||
|
||||
|
||||
import os
|
||||
from configparser import ConfigParser
|
||||
|
||||
import setuptools
|
||||
|
||||
config = ConfigParser()
|
||||
config.read("setup.cfg")
|
||||
|
||||
# We provide extras_require parameter to setuptools.setup later which
|
||||
# overwrites the extra_require section from setup.cfg. To support extra_require
|
||||
# secion in setup.cfg, we load it here and merge it with the extra_require param.
|
||||
extras_require = {}
|
||||
if "options.extras_require" in config:
|
||||
for key, value in config["options.extras_require"].items():
|
||||
extras_require[key] = [v for v in value.split("\n") if v.strip()]
|
||||
|
||||
BASE_DIR = os.path.dirname(__file__)
|
||||
PACKAGE_INFO = {}
|
||||
|
||||
VERSION_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
@ -30,8 +44,28 @@ VERSION_FILENAME = os.path.join(
|
||||
"sklearn",
|
||||
"version.py",
|
||||
)
|
||||
PACKAGE_INFO = {}
|
||||
with open(VERSION_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
setuptools.setup(version=PACKAGE_INFO["__version__"])
|
||||
PACKAGE_FILENAME = os.path.join(
|
||||
BASE_DIR,
|
||||
"src",
|
||||
"opentelemetry",
|
||||
"instrumentation",
|
||||
"sklearn",
|
||||
"package.py",
|
||||
)
|
||||
with open(PACKAGE_FILENAME) as f:
|
||||
exec(f.read(), PACKAGE_INFO)
|
||||
|
||||
# Mark any instruments/runtime dependencies as test dependencies as well.
|
||||
extras_require["instruments"] = PACKAGE_INFO["_instruments"]
|
||||
test_deps = extras_require.get("test", [])
|
||||
for dep in extras_require["instruments"]:
|
||||
test_deps.append(dep)
|
||||
|
||||
extras_require["test"] = test_deps
|
||||
|
||||
setuptools.setup(
|
||||
version=PACKAGE_INFO["__version__"], extras_require=extras_require
|
||||
)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user