Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add build_info metrics for jaeger components #3087

Merged
merged 5 commits into from
Jun 22, 2021

Conversation

Ashmita152
Copy link
Contributor

Signed-off-by: Ashmita Bohara [email protected]

Which problem is this PR solving?

Resolves #3062

Short description of the changes

Following this blog, exposing build_info metrics for every jaeger component.

Example for Jaeger Agent metrics endpoint:

Screenshot 2021-06-11 at 2 00 41 AM

( I have a local git tag as v1.32.0 hence version is showing that)

@Ashmita152 Ashmita152 requested a review from a team as a code owner June 10, 2021 16:11
@codecov
Copy link

codecov bot commented Jun 10, 2021

Codecov Report

Merging #3087 (51bf43e) into master (f23484b) will decrease coverage by 0.05%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #3087      +/-   ##
==========================================
- Coverage   95.96%   95.90%   -0.06%     
==========================================
  Files         236      236              
  Lines       10251    10251              
==========================================
- Hits         9837     9831       -6     
- Misses        345      349       +4     
- Partials       69       71       +2     
Impacted Files Coverage Δ
cmd/collector/app/server/zipkin.go 73.07% <0.00%> (-3.85%) ⬇️
cmd/query/app/static_handler.go 95.16% <0.00%> (-3.23%) ⬇️
plugin/storage/integration/integration.go 77.34% <0.00%> (-0.56%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f23484b...51bf43e. Read the comment docs.

albertteoh
albertteoh previously approved these changes Jun 11, 2021
pkg/version/build.go Outdated Show resolved Hide resolved
pkg/version/build.go Outdated Show resolved Hide resolved
@jpkrohling
Copy link
Contributor

I like this idea, but we went in a different direction with #1333. The main reason is this, seen in a comment from @yurishkuro:

Good idea. the only issue I foresee is that some metrics systems (in particular, Uber's M3) flush all metrics periodically, which results in the single data point in the time series db, thus if you're looking at the last hour of metrics and that point was earlier, you won't get any data.

Perhaps instead of metrics (which are meant for time series, even if gauges), these values are better exposed via expvar.

@Ashmita152
Copy link
Contributor Author

Thank you @albertteoh @jpkrohling for the review. I will look at the PR associated with that issue and update it accordingly.

Signed-off-by: Ashmita Bohara <[email protected]>
Signed-off-by: Ashmita Bohara <[email protected]>
@Ashmita152
Copy link
Contributor Author

On reading more about expvar, I have a question about it:

It looks like expvar is golang related endpoint rather than prometheus related endpoint. That means if we expose it via expvar, it is exposed at /debug/vars which doesn't seems to be consumable by prometheus (since it's not exposing in prometheus format)
As per the blog linked to the issue, they are trying to add version label to other timeseries using some kind of join. This will not be possible if we expose it as expvar.

Looking at other tools like prometheus, alertmanager, victoriametrics, they are exposing this build information as metrics rather than expvar.

I tried exposing the gauge as expvar which came something like this at http://localhost:14271/debug/vars

expvar

I am not sure what will be the right way.

@joe-elliott
Copy link
Member

Responding to @jpkrohling/@yurishkuro 's comment, we use _info metrics regurlarly that are scraped by prometheus to build dashboards that include versioning information. I don't know the details of M3 but in Prometheus this series is always available to be joined against as long as the application is publishing it.

@Ashmita152
Copy link
Contributor Author

Hi @jpkrohling @yurishkuro

May I ask for your review for this PR please.

Regards.

@yurishkuro yurishkuro merged commit 9ee807d into jaegertracing:master Jun 22, 2021
@Ashmita152 Ashmita152 deleted the build-info-metrics branch June 23, 2021 04:33
@jpkrohling
Copy link
Contributor

Should we convert the ones from #1333 as well, in name of consistency?

@Ashmita152
Copy link
Contributor Author

I don't have any strong opinion but I think command line flags should be kept as expvar unless they are changing dynamically during the runtime.

@jpkrohling
Copy link
Contributor

At least one value might be changing: the dyn-queue-size value.

yurishkuro pushed a commit that referenced this pull request Aug 7, 2023
Bumps the all group in /docker-compose/monitor with 4 updates:
[deprecated](https://github.com/tantale/deprecated),
[typing-extensions](https://github.com/python/typing_extensions),
[urllib3](https://github.com/urllib3/urllib3) and
[wrapt](https://github.com/GrahamDumpleton/wrapt).

Updates `deprecated` from 1.2.13 to 1.2.14
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tantale/deprecated/releases">deprecated's
releases</a>.</em></p>
<blockquote>
<h2>v1.2.14</h2>
<h2>Fix</h2>
<ul>
<li>Fix <a
href="https://github.com/tantale/deprecated/issues/60">#60</a>:
return a correctly dedented docstring when long docstring are using the
D212 or D213 format.</li>
</ul>
<h2>Other</h2>
<ul>
<li>Add support for Python 3.11.</li>
<li>Drop support for Python older than 3.7 in build systems like pytest
and tox, while ensuring the library remains production-compatible.</li>
<li>Update GitHub workflow to run in recent Python versions.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/hugovk"><code>@​hugovk</code></a> made
their first contribution in <a
href="https://github.com/tantale/deprecated/pull/52">tantale/deprecated#52</a></li>
<li><a href="https://github.com/12rambau"><code>@​12rambau</code></a>
made their first contribution in <a
href="https://github.com/tantale/deprecated/pull/61">tantale/deprecated#61</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/tantale/deprecated/compare/v1.2.13...v1.2.14">https://github.com/tantale/deprecated/compare/v1.2.13...v1.2.14</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tantale/deprecated/blob/master/CHANGELOG.rst">deprecated's
changelog</a>.</em></p>
<blockquote>
<h1>v1.2.14 (2023-05-27)</h1>
<p>Bug fix release</p>
<h2>Fix</h2>
<ul>
<li>Fix <a
href="https://github.com/tantale/deprecated/issues/60">#60</a>:
return a correctly dedented docstring when long docstring are using the
D212 or D213 format.</li>
</ul>
<h2>Other</h2>
<ul>
<li>
<p>Add support for Python 3.11.</p>
</li>
<li>
<p>Drop support for Python older than 3.7 in build systems like pytest
and tox,
while ensuring the library remains production-compatible.</p>
</li>
<li>
<p>Update GitHub workflow to run in recent Python versions.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tantale/deprecated/commit/378636d8a1e3d62d5894329c57f44ba0030c2dbd"><code>378636d</code></a>
Drops seemingly unused importlib-metadata dev dep</li>
<li><a
href="https://github.com/tantale/deprecated/commit/325b764f528c36c419b187ead4d537ac3cfc3d6a"><code>325b764</code></a>
Fixes comment on which version is development branch</li>
<li><a
href="https://github.com/tantale/deprecated/commit/291b34a000001a29c1aecd5f702a283776daa43f"><code>291b34a</code></a>
Adds Pythons dropped notice to changelog</li>
<li><a
href="https://github.com/tantale/deprecated/commit/204eccd311e95b7d1ce1cfef0aec9349dc2ca7cd"><code>204eccd</code></a>
Drops limitation on tox &lt; 4 since bug was fixed</li>
<li><a
href="https://github.com/tantale/deprecated/commit/2660239db51b2a157d505537f287ef1de3461fd8"><code>2660239</code></a>
Adds srpm_build_deps to Packit config</li>
<li><a
href="https://github.com/tantale/deprecated/commit/54a53d7d5822009193d3057cde88665cdb233169"><code>54a53d7</code></a>
Try explicitly setting AppVeyor image to VS2022</li>
<li><a
href="https://github.com/tantale/deprecated/commit/2b79e57c4ab5f52d124c01c3da7041d3f3f63755"><code>2b79e57</code></a>
Exclude pypy3 on ppc64le on Travis builds</li>
<li><a
href="https://github.com/tantale/deprecated/commit/bf33f948b70b04cf3e8f598575bb23206abe2813"><code>bf33f94</code></a>
Drops old Pythons and adds newer ones for Appveyor build</li>
<li><a
href="https://github.com/tantale/deprecated/commit/682989d8d7fcd3b2cff7a42a58d966791aef9a52"><code>682989d</code></a>
Drop the .9 from pypy3 in tox.ini</li>
<li><a
href="https://github.com/tantale/deprecated/commit/3919edf1f1ca89a67c929704d80a604b995690b3"><code>3919edf</code></a>
Use specifically pypy3.9 v7.3.9</li>
<li>Additional commits viewable in <a
href="https://github.com/tantale/deprecated/compare/v1.2.13...v1.2.14">compare
view</a></li>
</ul>
</details>
<br />

Updates `typing-extensions` from 4.4.0 to 4.7.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python/typing_extensions/releases">typing-extensions's
releases</a>.</em></p>
<blockquote>
<h2>4.7.1</h2>
<ul>
<li>Fix support for <code>TypedDict</code>, <code>NamedTuple</code> and
<code>is_protocol</code> on PyPy-3.7 and
PyPy-3.8. Patch by Alex Waygood. Note that PyPy-3.7 and PyPy-3.8 are
unsupported
by the PyPy project. The next feature release of typing-extensions will
drop support for PyPy-3.7 and may also drop support for PyPy-3.8.</li>
</ul>
<h2>4.7.0</h2>
<p>This is a feature release. Major changes include:</p>
<ul>
<li>All non-deprecated names from <code>typing</code> are now
re-exported by <code>typing_extensions</code> for convenience</li>
<li>Add <code>typing_extensions.get_protocol_members</code> and
<code>typing_extensions.is_protocol</code></li>
<li>Declare support for Python 3.12</li>
<li>This will be the last feature release to support Python 3.7, which
recently reached its end-of-life</li>
</ul>
<p>Full changelog of versions 4.7.0 and 4.7.0rc1:</p>
<h1>Release 4.7.0 (June 28, 2023)</h1>
<ul>
<li>This is expected to be the last feature release supporting Python
3.7,
which reaches its end of life on June 27, 2023. Version 4.8.0 will
support
only Python 3.8.0 and up.</li>
<li>Fix bug where a <code>typing_extensions.Protocol</code> class that
had one or more
non-callable members would raise <code>TypeError</code> when
<code>issubclass()</code>
was called against it, even if it defined a custom
<code>__subclasshook__</code>
method. The correct behaviour -- which has now been restored -- is not
to
raise <code>TypeError</code> in these situations if a custom
<code>__subclasshook__</code> method
is defined. Patch by Alex Waygood (backporting
<a
href="https://github.com/python/cpython/pull/105976">python/cpython#105976</a>).</li>
</ul>
<h1>Release 4.7.0rc1 (June 21, 2023)</h1>
<ul>
<li>Add <code>typing_extensions.get_protocol_members</code> and
<code>typing_extensions.is_protocol</code> (backport of CPython PR <a
href="https://github.com/python/typing_extensions/issues/104878">#104878</a>).
Patch by Jelle Zijlstra.</li>
<li><code>typing_extensions</code> now re-exports all names in the
standard library's
<code>typing</code> module, except the deprecated
<code>ByteString</code>. Patch by Jelle
Zijlstra.</li>
<li>Due to changes in the implementation of
<code>typing_extensions.Protocol</code>,
<code>typing.runtime_checkable</code> can now be used on
<code>typing_extensions.Protocol</code>
(previously, users had to use
<code>typing_extensions.runtime_checkable</code> if they
were using <code>typing_extensions.Protocol</code>).</li>
<li>Align the implementation of <code>TypedDict</code> with the
implementation in the
standard library on Python 3.9 and higher.
<code>typing_extensions.TypedDict</code> is now a function instead of a
class. The
private functions <code>_check_fails</code>, <code>_dict_new</code>, and
<code>_typeddict_new</code>
have been removed. <code>is_typeddict</code> now returns
<code>False</code> when called with
<code>TypedDict</code> itself as the argument. Patch by Jelle
Zijlstra.</li>
<li>Declare support for Python 3.12. Patch by Jelle Zijlstra.</li>
<li>Fix tests on Python 3.13, which removes support for creating
<code>TypedDict</code> classes through the keyword-argument syntax.
Patch by</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python/typing_extensions/blob/main/CHANGELOG.md">typing-extensions's
changelog</a>.</em></p>
<blockquote>
<h1>Release 4.7.1 (July 2, 2023)</h1>
<ul>
<li>Fix support for <code>TypedDict</code>, <code>NamedTuple</code> and
<code>is_protocol</code> on PyPy-3.7 and
PyPy-3.8. Patch by Alex Waygood. Note that PyPy-3.7 and PyPy-3.8 are
unsupported
by the PyPy project. The next feature release of typing-extensions will
drop support for PyPy-3.7 and may also drop support for PyPy-3.8.</li>
</ul>
<h1>Release 4.7.0 (June 28, 2023)</h1>
<ul>
<li>This is expected to be the last feature release supporting Python
3.7,
which reaches its end of life on June 27, 2023. Version 4.8.0 will
support
only Python 3.8.0 and up.</li>
<li>Fix bug where a <code>typing_extensions.Protocol</code> class that
had one or more
non-callable members would raise <code>TypeError</code> when
<code>issubclass()</code>
was called against it, even if it defined a custom
<code>__subclasshook__</code>
method. The correct behaviour -- which has now been restored -- is not
to
raise <code>TypeError</code> in these situations if a custom
<code>__subclasshook__</code> method
is defined. Patch by Alex Waygood (backporting
<a
href="https://github.com/python/cpython/pull/105976">python/cpython#105976</a>).</li>
</ul>
<h1>Release 4.7.0rc1 (June 21, 2023)</h1>
<ul>
<li>Add <code>typing_extensions.get_protocol_members</code> and
<code>typing_extensions.is_protocol</code> (backport of CPython PR <a
href="https://github.com/python/typing_extensions/issues/104878">#104878</a>).
Patch by Jelle Zijlstra.</li>
<li><code>typing_extensions</code> now re-exports all names in the
standard library's
<code>typing</code> module, except the deprecated
<code>ByteString</code>. Patch by Jelle
Zijlstra.</li>
<li>Due to changes in the implementation of
<code>typing_extensions.Protocol</code>,
<code>typing.runtime_checkable</code> can now be used on
<code>typing_extensions.Protocol</code>
(previously, users had to use
<code>typing_extensions.runtime_checkable</code> if they
were using <code>typing_extensions.Protocol</code>).</li>
<li>Align the implementation of <code>TypedDict</code> with the
implementation in the
standard library on Python 3.9 and higher.
<code>typing_extensions.TypedDict</code> is now a function instead of a
class. The
private functions <code>_check_fails</code>, <code>_dict_new</code>, and
<code>_typeddict_new</code>
have been removed. <code>is_typeddict</code> now returns
<code>False</code> when called with
<code>TypedDict</code> itself as the argument. Patch by Jelle
Zijlstra.</li>
<li>Declare support for Python 3.12. Patch by Jelle Zijlstra.</li>
<li>Fix tests on Python 3.13, which removes support for creating
<code>TypedDict</code> classes through the keyword-argument syntax.
Patch by
Jelle Zijlstra.</li>
<li>Fix a regression introduced in v4.6.3 that meant that
<code>issubclass(object, typing_extensions.Protocol)</code> would
erroneously raise
<code>TypeError</code>. Patch by Alex Waygood (backporting the CPython
PR
<a
href="https://github.com/python/cpython/pull/105239">python/cpython#105239</a>).</li>
<li>Allow <code>Protocol</code> classes to inherit from
<code>typing_extensions.Buffer</code> or
<code>collections.abc.Buffer</code>. Patch by Alex Waygood (backporting
<a
href="https://github.com/python/cpython/pull/104827">python/cpython#104827</a>,
by Jelle Zijlstra).</li>
<li>Allow classes to inherit from both <code>typing.Protocol</code> and
<code>typing_extensions.Protocol</code></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python/typing_extensions/commit/b518f6a64400fd5a25e5b72668370b9792ef9ae6"><code>b518f6a</code></a>
Prepare release 4.7.1 (<a
href="https://github.com/python/typing_extensions/issues/264">#264</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/dcdc53f62ecbea8a0fc9a42f66746f970ab101bb"><code>dcdc53f</code></a>
Restore compatibility with PyPy &lt;3.9 (<a
href="https://github.com/python/typing_extensions/issues/262">#262</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/bc9bc065f1837955fca2fff57b9e5fa04a2713cb"><code>bc9bc06</code></a>
Run some mypyc tests in the third-party workflow (<a
href="https://github.com/python/typing_extensions/issues/260">#260</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/fc5243bc14071dbf65c92202a5239d66c35abcb2"><code>fc5243b</code></a>
Run tests on more pypy versions in CI (<a
href="https://github.com/python/typing_extensions/issues/259">#259</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/b3ddcb6a94e7935166b3786ed0c1c54f1fc541b3"><code>b3ddcb6</code></a>
Stop running third-party tests on 3.7 (<a
href="https://github.com/python/typing_extensions/issues/257">#257</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/633d2e2942372848d8d7859cf71a569259dba9ee"><code>633d2e2</code></a>
4.7.0 final (<a
href="https://github.com/python/typing_extensions/issues/255">#255</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/3193f90d18e50a19725ed47bb8fe586c234b9449"><code>3193f90</code></a>
CHANGELOG: Mention expected end of 3.7 support (<a
href="https://github.com/python/typing_extensions/issues/253">#253</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/e65b036661eb472a3682eca1ceb78eb57b21d200"><code>e65b036</code></a>
Backport CPython PR 105976 (<a
href="https://github.com/python/typing_extensions/issues/252">#252</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/e703629a339a670b44a3612f87bfa90a49c794f0"><code>e703629</code></a>
README improvements (<a
href="https://github.com/python/typing_extensions/issues/250">#250</a>)</li>
<li><a
href="https://github.com/python/typing_extensions/commit/a65658fcbc0a86e529e1c46a4eaa5fee4f150607"><code>a65658f</code></a>
Update CONTRIBUTING.md (<a
href="https://github.com/python/typing_extensions/issues/249">#249</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/python/typing_extensions/compare/4.4.0...4.7.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `urllib3` from 1.26.12 to 2.0.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/urllib3/urllib3/releases">urllib3's
releases</a>.</em></p>
<blockquote>
<h2>2.0.4</h2>
<ul>
<li>Added support for union operators to <code>HTTPHeaderDict</code> (<a
href="https://github.com/urllib3/urllib3/issues/2254">#2254</a>)</li>
<li>Added <code>BaseHTTPResponse</code> to <code>urllib3.__all__</code>
(<a
href="https://github.com/urllib3/urllib3/issues/3078">#3078</a>)</li>
<li>Fixed <code>urllib3.connection.HTTPConnection</code> to raise the
<code>http.client.connect</code> audit event to have the same behavior
as the standard library HTTP client (<a
href="https://github.com/urllib3/urllib3/issues/2757">#2757</a>)</li>
<li>Relied on the standard library for checking hostnames in supported
PyPy releases (<a
href="https://github.com/urllib3/urllib3/issues/3087">#3087</a>)</li>
</ul>
<h2>2.0.3</h2>
<ul>
<li>Allowed alternative SSL libraries such as LibreSSL, while still
issuing a warning as we cannot help users facing issues with
implementations other than OpenSSL. <a
href="https://github.com/urllib3/urllib3/issues/3020">#3020</a></li>
<li>Deprecated URLs which don't have an explicit scheme <a
href="https://github.com/urllib3/urllib3/pull/2950">#2950</a></li>
<li>Fixed response decoding with Zstandard when compressed data is made
of several frames. <a
href="https://github.com/urllib3/urllib3/issues/3008">#3008</a></li>
<li>Fixed <code>assert_hostname=False</code> to correctly skip hostname
check. <a
href="https://github.com/urllib3/urllib3/issues/3051">#3051</a></li>
</ul>
<h2>2.0.2</h2>
<ul>
<li>Fixed <code>HTTPResponse.stream()</code> to continue yielding bytes
if buffered decompressed data was still available to be read even if the
underlying socket is closed. This prevents a compressed response from
being truncated. (<a
href="https://github.com/urllib3/urllib3/issues/3009">urllib3/urllib3#3009</a>)</li>
</ul>
<h2>2.0.1</h2>
<ul>
<li>Fixed a socket leak when fingerprint or hostname verifications fail.
(<a
href="https://github.com/urllib3/urllib3/issues/2991">#2991</a>)</li>
<li>Fixed an error when <code>HTTPResponse.read(0)</code> was the first
<code>read</code> call or when the internal response body buffer was
otherwise empty. (<a
href="https://github.com/urllib3/urllib3/issues/2998">#2998</a>)</li>
</ul>
<h2>2.0.0</h2>
<p>Read the <a
href="https://urllib3.readthedocs.io/en/latest/v2-migration-guide.html">v2.0
migration guide</a> for help upgrading to the latest version of
urllib3.</p>
<h1>Removed</h1>
<ul>
<li>Removed support for Python 2.7, 3.5, and 3.6 (<a
href="https://github.com/urllib3/urllib3/issues/883">#883</a>,
<a
href="https://github.com/urllib3/urllib3/issues/2336">#2336</a>).</li>
<li>Removed fallback on certificate <code>commonName</code> in
<code>match_hostname()</code> function. This behavior was deprecated in
May 2000 in RFC 2818. Instead only <code>subjectAltName</code> is used
to verify the hostname by default. To enable verifying the hostname
against <code>commonName</code> use
<code>SSLContext.hostname_checks_common_name = True</code> (<a
href="https://github.com/urllib3/urllib3/issues/2113">#2113</a>).</li>
<li>Removed support for Python with an <code>ssl</code> module compiled
with LibreSSL, CiscoSSL, wolfSSL, and all other OpenSSL alternatives.
Python is moving to require OpenSSL with PEP 644 (<a
href="https://github.com/urllib3/urllib3/issues/2168">#2168</a>).</li>
<li>Removed support for OpenSSL versions earlier than 1.1.1 or that
don't have SNI support. When an incompatible OpenSSL version is detected
an <code>ImportError</code> is raised (<a
href="https://github.com/urllib3/urllib3/issues/2168">#2168</a>).</li>
<li>Removed the list of default ciphers for OpenSSL 1.1.1+ and
SecureTransport as their own defaults are already secure (<a
href="https://github.com/urllib3/urllib3/issues/2082">#2082</a>).</li>
<li>Removed <code>urllib3.contrib.appengine.AppEngineManager</code> and
support for Google App Engine Standard Environment (<a
href="https://github.com/urllib3/urllib3/issues/2044">#2044</a>).</li>
<li>Removed deprecated <code>Retry</code> options
<code>method_whitelist</code>,
<code>DEFAULT_REDIRECT_HEADERS_BLACKLIST</code> (<a
href="https://github.com/urllib3/urllib3/issues/2086">#2086</a>).</li>
<li>Removed <code>urllib3.HTTPResponse.from_httplib</code> (<a
href="https://github.com/urllib3/urllib3/issues/2648">#2648</a>).</li>
<li>Removed default value of <code>None</code> for the
<code>request_context</code> parameter of
<code>urllib3.PoolManager.connection_from_pool_key</code>. This change
should have no effect on users as the default value of <code>None</code>
was an invalid option and was never used (<a
href="https://github.com/urllib3/urllib3/issues/1897">#1897</a>).</li>
<li>Removed the <code>urllib3.request</code> module.
<code>urllib3.request.RequestMethods</code> has been made a private API.
This change was made to ensure that <code>from urllib3 import
request</code> imported the top-level <code>request()</code> function
instead of the <code>urllib3.request</code> module (<a
href="https://github.com/urllib3/urllib3/issues/2269">#2269</a>).</li>
<li>Removed support for SSLv3.0 from the
<code>urllib3.contrib.pyopenssl</code> even when support is available
from the compiled OpenSSL library (<a
href="https://github.com/urllib3/urllib3/issues/2233">#2233</a>).</li>
<li>Removed the deprecated <code>urllib3.contrib.ntlmpool</code> module
(<a
href="https://github.com/urllib3/urllib3/issues/2339">#2339</a>).</li>
<li>Removed <code>DEFAULT_CIPHERS</code>, <code>HAS_SNI</code>,
<code>USE_DEFAULT_SSLCONTEXT_CIPHERS</code>, from the private module
<code>urllib3.util.ssl_</code> (<a
href="https://github.com/urllib3/urllib3/issues/2168">#2168</a>).</li>
<li>Removed <code>urllib3.exceptions.SNIMissingWarning</code> (<a
href="https://github.com/urllib3/urllib3/issues/2168">#2168</a>).</li>
<li>Removed the <code>_prepare_conn</code> method from
<code>HTTPConnectionPool</code>. Previously this was only used to call
<code>HTTPSConnection.set_cert()</code> by
<code>HTTPSConnectionPool</code> (<a
href="https://github.com/urllib3/urllib3/issues/1985">#1985</a>).</li>
<li>Removed <code>tls_in_tls_required</code> property from
<code>HTTPSConnection</code>. This is now determined from the
<code>scheme</code> parameter in
<code>HTTPConnection.set_tunnel()</code> (<a
href="https://github.com/urllib3/urllib3/issues/1985">#1985</a>).</li>
</ul>
<h1>Deprecated</h1>
<ul>
<li>Deprecated <code>HTTPResponse.getheaders()</code> and
<code>HTTPResponse.getheader()</code> which will be removed in urllib3
v2.1.0. Instead use <code>HTTPResponse.headers</code> and
<code>HTTPResponse.headers.get(name, default)</code>. (<a
href="https://github.com/urllib3/urllib3/issues/1543">#1543</a>,
<a
href="https://github.com/urllib3/urllib3/issues/2814">#2814</a>).</li>
<li>Deprecated <code>urllib3.contrib.pyopenssl</code> module which will
be removed in urllib3 v2.1.0 (<a
href="https://github.com/urllib3/urllib3/issues/2691">#2691</a>).</li>
<li>Deprecated <code>urllib3.contrib.securetransport</code> module which
will be removed in urllib3 v2.1.0 (<a
href="https://github.com/urllib3/urllib3/issues/2692">#2692</a>).</li>
<li>Deprecated <code>ssl_version</code> option in favor of
<code>ssl_minimum_version</code>. <code>ssl_version</code> will be
removed in urllib3 v2.1.0 (<a
href="https://github.com/urllib3/urllib3/issues/2110">#2110</a>).</li>
<li>Deprecated the <code>strict</code> parameter as it's not longer
needed in Python 3.x. It will be removed in urllib3 v2.1.0 (<a
href="https://github.com/urllib3/urllib3/issues/2267">#2267</a>)</li>
<li>Deprecated the <code>NewConnectionError.pool</code> attribute which
will be removed in urllib3 v2.1.0 (<a
href="https://github.com/urllib3/urllib3/issues/2271">#2271</a>).</li>
<li>Deprecated <code>format_header_param_html5</code> and
<code>format_header_param</code> in favor of
<code>format_multipart_header_param</code> (<a
href="https://github.com/urllib3/urllib3/issues/2257">#2257</a>).</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/urllib3/urllib3/blob/main/CHANGES.rst">urllib3's
changelog</a>.</em></p>
<blockquote>
<h1>2.0.4 (2023-07-19)</h1>
<ul>
<li>Added support for union operators to <code>HTTPHeaderDict</code>
(<code>[#2254](urllib3/urllib3#2254)
&lt;https://github.com/urllib3/urllib3/issues/2254&gt;</code>__)</li>
<li>Added <code>BaseHTTPResponse</code> to <code>urllib3.__all__</code>
(<code>[#3078](urllib3/urllib3#3078)
&lt;https://github.com/urllib3/urllib3/issues/3078&gt;</code>__)</li>
<li>Fixed <code>urllib3.connection.HTTPConnection</code> to raise the
<code>http.client.connect</code> audit event to have the same behavior
as the standard library HTTP client
(<code>[#2757](urllib3/urllib3#2757)
&lt;https://github.com/urllib3/urllib3/issues/2757&gt;</code>__)</li>
<li>Relied on the standard library for checking hostnames in supported
PyPy releases
(<code>[#3087](urllib3/urllib3#3087)
&lt;https://github.com/urllib3/urllib3/issues/3087&gt;</code>__)</li>
</ul>
<h1>2.0.3 (2023-06-07)</h1>
<ul>
<li>Allowed alternative SSL libraries such as LibreSSL, while still
issuing a warning as we cannot help users facing issues with
implementations other than OpenSSL.
(<code>[#3020](urllib3/urllib3#3020)
&lt;https://github.com/urllib3/urllib3/issues/3020&gt;</code>__)</li>
<li>Deprecated URLs which don't have an explicit scheme
(<code>[#2950](urllib3/urllib3#2950)
&lt;https://github.com/urllib3/urllib3/pull/2950&gt;</code>_)</li>
<li>Fixed response decoding with Zstandard when compressed data is made
of several frames.
(<code>[#3008](urllib3/urllib3#3008)
&lt;https://github.com/urllib3/urllib3/issues/3008&gt;</code>__)</li>
<li>Fixed <code>assert_hostname=False</code> to correctly skip hostname
check. (<code>[#3051](urllib3/urllib3#3051)
&lt;https://github.com/urllib3/urllib3/issues/3051&gt;</code>__)</li>
</ul>
<h1>2.0.2 (2023-05-03)</h1>
<ul>
<li>Fixed <code>HTTPResponse.stream()</code> to continue yielding bytes
if buffered decompressed data
was still available to be read even if the underlying socket is closed.
This prevents
a compressed response from being truncated.
(<code>[#3009](urllib3/urllib3#3009)
&lt;https://github.com/urllib3/urllib3/issues/3009&gt;</code>__)</li>
</ul>
<h1>2.0.1 (2023-04-30)</h1>
<ul>
<li>Fixed a socket leak when fingerprint or hostname verifications fail.
(<code>[#2991](urllib3/urllib3#2991)
&lt;https://github.com/urllib3/urllib3/issues/2991&gt;</code>__)</li>
<li>Fixed an error when <code>HTTPResponse.read(0)</code> was the first
<code>read</code> call or when the internal response body buffer was
otherwise empty.
(<code>[#2998](urllib3/urllib3#2998)
&lt;https://github.com/urllib3/urllib3/issues/2998&gt;</code>__)</li>
</ul>
<h1>2.0.0 (2023-04-26)</h1>
<p>Read the <code>v2.0 migration guide
&lt;https://urllib3.readthedocs.io/en/latest/v2-migration-guide.html&gt;</code>__
for help upgrading to the latest version of urllib3.</p>
<h2>Removed</h2>
<ul>
<li>Removed support for Python 2.7, 3.5, and 3.6
(<code>[#883](urllib3/urllib3#883)
&lt;https://github.com/urllib3/urllib3/issues/883&gt;</code><strong>,
<code>[#2336](urllib3/urllib3#2336)
&lt;https://github.com/urllib3/urllib3/issues/2336&gt;</code></strong>).</li>
<li>Removed fallback on certificate <code>commonName</code> in
<code>match_hostname()</code> function.
This behavior was deprecated in May 2000 in RFC 2818. Instead only
<code>subjectAltName</code>
is used to verify the hostname by default. To enable verifying the
hostname against
<code>commonName</code> use <code>SSLContext.hostname_checks_common_name
= True</code>
(<code>[#2113](urllib3/urllib3#2113)
&lt;https://github.com/urllib3/urllib3/issues/2113&gt;</code>__).</li>
<li>Removed support for Python with an <code>ssl</code> module compiled
with LibreSSL, CiscoSSL,
wolfSSL, and all other OpenSSL alternatives. Python is moving to require
OpenSSL with PEP 644
(<code>[#2168](urllib3/urllib3#2168)
&lt;https://github.com/urllib3/urllib3/issues/2168&gt;</code>__).</li>
<li>Removed support for OpenSSL versions earlier than 1.1.1 or that
don't have SNI support.
When an incompatible OpenSSL version is detected an
<code>ImportError</code> is raised
(<code>[#2168](urllib3/urllib3#2168)
&lt;https://github.com/urllib3/urllib3/issues/2168&gt;</code>__).</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/urllib3/urllib3/commit/c9fa144545eedb5dc4a2cc3f255e95602a1d7db0"><code>c9fa144</code></a>
Release version 2.0.4 (<a
href="https://github.com/urllib3/urllib3/issues/3084">#3084</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/d40d146765a7f7a899427c8add54de67b4b6599a"><code>d40d146</code></a>
Add Illia to CODEOWNERS</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/0a375d19243efb08c9d8a0f3356701ca11ef9791"><code>0a375d1</code></a>
Raise <code>http.client.connect</code> audit events in
<code>HTTPConnection</code> (<a
href="https://github.com/urllib3/urllib3/issues/2859">#2859</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/c056eb3df6aae4d1dff0365baded46235d413520"><code>c056eb3</code></a>
Bump actions/setup-python from 4.6.0 to 4.7.0</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/a1c184b298823f13dd34c783d56ea538848282f1"><code>a1c184b</code></a>
Remove warnings filters fixed in pytest 7.4.0 (<a
href="https://github.com/urllib3/urllib3/issues/3086">#3086</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/609c5464cc9d2673549b651b713e07424517fa85"><code>609c546</code></a>
Add support for union operators to <code>HTTPHeaderDict</code> (<a
href="https://github.com/urllib3/urllib3/issues/2943">#2943</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/05b21ca5d29764aae60c72e4e3bfceead0f70f95"><code>05b21ca</code></a>
Bump cryptography from 41.0.0 to 41.0.2</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/9aa0d4f6cb0d4b34e20fafed4481ac7d785d4969"><code>9aa0d4f</code></a>
Bump cryptography from 39.0.1 to 41.0.0 (<a
href="https://github.com/urllib3/urllib3/issues/3057">#3057</a>)</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/326c4238cbabe85007aa7b1f2e80b880fd01d903"><code>326c423</code></a>
Rely on the standard library for checking hostnames in supported PyPy
releases</li>
<li><a
href="https://github.com/urllib3/urllib3/commit/d0ac08d58511c4121138bd46436076409d21acbf"><code>d0ac08d</code></a>
Bump gh-action-pypi-publish to v1.8.8</li>
<li>Additional commits viewable in <a
href="https://github.com/urllib3/urllib3/compare/1.26.12...2.0.4">compare
view</a></li>
</ul>
</details>
<br />

Updates `wrapt` from 1.14.1 to 1.15.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst">wrapt's
changelog</a>.</em></p>
<blockquote>
<h2>Version 1.15.0</h2>
<p><strong>Bugs Fixed</strong></p>
<ul>
<li>
<p>When the C extension for wrapt was being used, and a property was
used on an
object proxy wrapping another object to intercept access to an attribute
of
the same name on the wrapped object, if the function implementing the
property
raised an exception, then the exception was ignored and not propagated
back to
the caller. What happened instead was that the original value of the
attribute
from the wrapped object was returned, thus silently suppressing that an
exception had occurred in the wrapper. This behaviour was not happening
when
the pure Python version of wrapt was being used, with it raising the
exception. The pure Python and C extension implementations thus did not
behave
the same.</p>
<p>Note that in the specific case that the exception raised is
AttributeError it
still wouldn't be raised. This is the case for both Python and C
extension
implementations. If a wrapper for an attribute internally raises an
AttributeError for some reason, the wrapper should if necessary catch
the
exception and deal with it, or propagate it as a different exception
type if
it is important that an exception still be passed back.</p>
</li>
<li>
<p>Address issue where the post import hook mechanism of wrapt wasn't
transparent
and left the <code>__loader__</code> and <code>__spec__.loader</code>
attributes of a module as
the wrapt import hook loader and not the original loader. That the
original
loader wasn't preserved could interfere with code which needed access to
the
original loader.</p>
</li>
<li>
<p>Address issues where a thread deadlock could occur within the wrapt
module
import handler, when code executed from a post import hook created a new
thread and code executed in the context of the new thread itself tried
to
register a post import hook, or imported a new module.</p>
</li>
<li>
<p>When using <code>CallableObjectProxy</code> as a wrapper for a type
or function and
calling the wrapped object, it was not possible to pass a keyword
argument
named <code>self</code>. This only occurred when using the pure Python
version of wrapt
and did not occur when using the C extension based implementation.</p>
</li>
<li>
<p>When using <code>PartialCallableObjectProxy</code> as a wrapper for a
type or function,
when constructing the partial object and when calling the partial
object, it
was not possible to pass a keyword argument named <code>self</code>.
This only occurred
when using the pure Python version of wrapt and did not occur when using
the C
extension based implementation.</p>
</li>
<li>
<p>When using <code>FunctionWrapper</code> as a wrapper for a type or
function and calling
the wrapped object, it was not possible to pass a keyword argument named
<code>self</code>. Because <code>FunctionWrapper</code> is also used by
decorators, this also
affected decorators on functions and class types. A similar issue also
arose
when these were applied to class and instance methods where binding
occurred</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/GrahamDumpleton/wrapt/commit/0634a79c934e4bbf11b4081d3f1610588d7ae4a6"><code>0634a79</code></a>
Merge branch 'release/1.15.0'</li>
<li><a
href="https://github.com/GrahamDumpleton/wrapt/commit/ba845c6793eab868cad957b2763fa121333fdfc1"><code>ba845c6</code></a>
Update version to 1.15.0 for release.</li>
<li><a
href="https://github.com/GrahamDumpleton/wrapt/commit/d446a4f340b93fed41dfe884aa0311195b301f16"><code>d446a4f</code></a>
Remove egg info directory.</li>
<li><a
href="https://github.com/GrahamDumpleton/wrapt/commit/c11181dc7b891c9e59391a24379f89a8cdac9092"><code>c11181d</code></a>
Set version to 1.15.0rc1 for release.</li>
<li><a
href="https://github.com/GrahamDumpleton/wrapt/commit/3a6a771877c934a740e4de538fbbddb4498ffd24"><code>3a6a771</code></a>
Need to install wheel package for bdist_wheel.</li>
<li><a
href="https://github.com/GrahamDumpleton/wrapt/commit/bb8d37af60eea5204fdf32f76c9f00b971a381bb"><code>bb8d37a</code></a>
Attempt to build a pure Python source wheel.</li>
<li><a
href="https://github.com/GrahamDumpleton/wrapt/commit/511a8cec1d19486ed12c5f18ee74f52f6c0e7e06"><code>511a8ce</code></a>
Remove .tox directory when doing clean.</li>
<li><a
href="https://github.com/GrahamDumpleton/wrapt/commit/32a07205a41020019add7a9e4e9bbf2def1d5aaf"><code>32a0720</code></a>
Fix issues when using keyword argument named self with weak function
proxy.</li>
<li><a
href="https://github.com/GrahamDumpleton/wrapt/commit/4e09f7ac1d8e936a707ad33f84edb55c248a144c"><code>4e09f7a</code></a>
Fix issues when using keyword argument named self with function wrappers
and ...</li>
<li><a
href="https://github.com/GrahamDumpleton/wrapt/commit/ee6bab6989fdcf1eeedf1601f8f23fcff3e95730"><code>ee6bab6</code></a>
On Python 2 the format of exception differs to Python 3.</li>
<li>Additional commits viewable in <a
href="https://github.com/GrahamDumpleton/wrapt/compare/1.14.1...1.15.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Expose jaeger_version info metric with pkg/version/build.go as labels
5 participants