Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .changelog/5374.added
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
`opentelemetry-exporter-otlp-json-http`: add OTLP JSON HTTP exporter package
19 changes: 19 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -328,6 +328,25 @@ jobs:
- name: Run tests
run: tox -e lint-opentelemetry-exporter-otlp-json-file

lint-opentelemetry-exporter-otlp-json-http:
name: opentelemetry-exporter-otlp-json-http
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4

- name: Set up Python 3.14
uses: actions/setup-python@v5
with:
python-version: "3.14"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e lint-opentelemetry-exporter-otlp-json-http

lint-opentelemetry-exporter-otlp-proto-grpc-latest:
name: opentelemetry-exporter-otlp-proto-grpc-latest
runs-on: ubuntu-latest
Expand Down
280 changes: 280 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2459,6 +2459,139 @@ jobs:
- name: Run tests
run: tox -e pypy3-test-opentelemetry-exporter-otlp-json-file -- -ra

py310-test-opentelemetry-exporter-otlp-json-http_ubuntu-latest:
name: opentelemetry-exporter-otlp-json-http 3.10 Ubuntu
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4

- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e py310-test-opentelemetry-exporter-otlp-json-http -- -ra

py311-test-opentelemetry-exporter-otlp-json-http_ubuntu-latest:
name: opentelemetry-exporter-otlp-json-http 3.11 Ubuntu
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4

- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e py311-test-opentelemetry-exporter-otlp-json-http -- -ra

py312-test-opentelemetry-exporter-otlp-json-http_ubuntu-latest:
name: opentelemetry-exporter-otlp-json-http 3.12 Ubuntu
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4

- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e py312-test-opentelemetry-exporter-otlp-json-http -- -ra

py313-test-opentelemetry-exporter-otlp-json-http_ubuntu-latest:
name: opentelemetry-exporter-otlp-json-http 3.13 Ubuntu
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4

- name: Set up Python 3.13
uses: actions/setup-python@v5
with:
python-version: "3.13"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e py313-test-opentelemetry-exporter-otlp-json-http -- -ra

py314-test-opentelemetry-exporter-otlp-json-http_ubuntu-latest:
name: opentelemetry-exporter-otlp-json-http 3.14 Ubuntu
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4

- name: Set up Python 3.14
uses: actions/setup-python@v5
with:
python-version: "3.14"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e py314-test-opentelemetry-exporter-otlp-json-http -- -ra

py314t-test-opentelemetry-exporter-otlp-json-http_ubuntu-latest:
name: opentelemetry-exporter-otlp-json-http 3.14t Ubuntu
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4

- name: Set up Python 3.14t
uses: actions/setup-python@v5
with:
python-version: "3.14t"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e py314t-test-opentelemetry-exporter-otlp-json-http -- -ra

pypy3-test-opentelemetry-exporter-otlp-json-http_ubuntu-latest:
name: opentelemetry-exporter-otlp-json-http pypy-3.10 Ubuntu
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4

- name: Set up Python pypy-3.10
uses: actions/setup-python@v5
with:
python-version: "pypy-3.10"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e pypy3-test-opentelemetry-exporter-otlp-json-http -- -ra

py310-test-opentelemetry-exporter-otlp-proto-grpc-oldest_ubuntu-latest:
name: opentelemetry-exporter-otlp-proto-grpc-oldest 3.10 Ubuntu
runs-on: ubuntu-latest
Expand Down Expand Up @@ -6411,6 +6544,153 @@ jobs:
- name: Run tests
run: tox -e pypy3-test-opentelemetry-exporter-otlp-json-file -- -ra

py310-test-opentelemetry-exporter-otlp-json-http_windows-latest:
name: opentelemetry-exporter-otlp-json-http 3.10 Windows
runs-on: windows-latest
timeout-minutes: 30
steps:
- name: Configure git to support long filenames
run: git config --system core.longpaths true
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4

- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e py310-test-opentelemetry-exporter-otlp-json-http -- -ra

py311-test-opentelemetry-exporter-otlp-json-http_windows-latest:
name: opentelemetry-exporter-otlp-json-http 3.11 Windows
runs-on: windows-latest
timeout-minutes: 30
steps:
- name: Configure git to support long filenames
run: git config --system core.longpaths true
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4

- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e py311-test-opentelemetry-exporter-otlp-json-http -- -ra

py312-test-opentelemetry-exporter-otlp-json-http_windows-latest:
name: opentelemetry-exporter-otlp-json-http 3.12 Windows
runs-on: windows-latest
timeout-minutes: 30
steps:
- name: Configure git to support long filenames
run: git config --system core.longpaths true
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4

- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e py312-test-opentelemetry-exporter-otlp-json-http -- -ra

py313-test-opentelemetry-exporter-otlp-json-http_windows-latest:
name: opentelemetry-exporter-otlp-json-http 3.13 Windows
runs-on: windows-latest
timeout-minutes: 30
steps:
- name: Configure git to support long filenames
run: git config --system core.longpaths true
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4

- name: Set up Python 3.13
uses: actions/setup-python@v5
with:
python-version: "3.13"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e py313-test-opentelemetry-exporter-otlp-json-http -- -ra

py314-test-opentelemetry-exporter-otlp-json-http_windows-latest:
name: opentelemetry-exporter-otlp-json-http 3.14 Windows
runs-on: windows-latest
timeout-minutes: 30
steps:
- name: Configure git to support long filenames
run: git config --system core.longpaths true
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4

- name: Set up Python 3.14
uses: actions/setup-python@v5
with:
python-version: "3.14"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e py314-test-opentelemetry-exporter-otlp-json-http -- -ra

py314t-test-opentelemetry-exporter-otlp-json-http_windows-latest:
name: opentelemetry-exporter-otlp-json-http 3.14t Windows
runs-on: windows-latest
timeout-minutes: 30
steps:
- name: Configure git to support long filenames
run: git config --system core.longpaths true
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4

- name: Set up Python 3.14t
uses: actions/setup-python@v5
with:
python-version: "3.14t"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e py314t-test-opentelemetry-exporter-otlp-json-http -- -ra

pypy3-test-opentelemetry-exporter-otlp-json-http_windows-latest:
name: opentelemetry-exporter-otlp-json-http pypy-3.10 Windows
runs-on: windows-latest
timeout-minutes: 30
steps:
- name: Configure git to support long filenames
run: git config --system core.longpaths true
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4

- name: Set up Python pypy-3.10
uses: actions/setup-python@v5
with:
python-version: "pypy-3.10"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e pypy3-test-opentelemetry-exporter-otlp-json-http -- -ra

py310-test-opentelemetry-exporter-otlp-proto-grpc-oldest_windows-latest:
name: opentelemetry-exporter-otlp-proto-grpc-oldest 3.10 Windows
runs-on: windows-latest
Expand Down
5 changes: 5 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,11 @@
# ``from os import PathLike`` renders as the bare name ``PathLike`` in the
# file exporter type hints, which sphinx cannot resolve to os.PathLike.
("py:class", "PathLike"),
("py:class", "opentelemetry.exporter.otlp.common.http.Compression"),
(
"py:class",
"opentelemetry.exporter.http.transport._base.BaseHTTPTransport",
),
]

# Add any paths that contain templates here, relative to this directory.
Expand Down
22 changes: 22 additions & 0 deletions docs/exporter/otlp/otlp.rst
Original file line number Diff line number Diff line change
Expand Up @@ -72,3 +72,25 @@ opentelemetry.exporter.otlp.json.file
:members:
:undoc-members:
:show-inheritance:

opentelemetry.exporter.otlp.json.http
---------------------------------------

.. automodule:: opentelemetry.exporter.otlp.json.http
:no-members:
:no-undoc-members:

.. automodule:: opentelemetry.exporter.otlp.json.http.trace_exporter
:members:
:undoc-members:
:show-inheritance:

.. automodule:: opentelemetry.exporter.otlp.json.http.metric_exporter
:members:
:undoc-members:
:show-inheritance:

.. automodule:: opentelemetry.exporter.otlp.json.http._log_exporter
:members:
:undoc-members:
:show-inheritance:
1 change: 1 addition & 0 deletions eachdist.ini
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ packages=
opentelemetry-exporter-prometheus
opentelemetry-exporter-otlp-json-common
opentelemetry-exporter-otlp-json-file
opentelemetry-exporter-otlp-json-http
opentelemetry-exporter-otlp-common
opentelemetry-distro
opentelemetry-proto-json
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ def headers(self) -> Mapping[str, str]:
keys. Headers with multiple values are represented as a single string
of comma separated values.

Implementations may raise an exception the returned headers are malformed.
Implementations may raise an exception if the returned headers are malformed.
"""

def text(self) -> str:
Expand Down
Loading
Loading