From 404a68e9a761e3c0cb94654b495c0e457f98f968 Mon Sep 17 00:00:00 2001 From: Tom Ward Date: Fri, 5 Jan 2024 14:53:25 +0000 Subject: [PATCH] chore: update opentelemetry to 0.43b0 (#3951) * includes support for final http telemetry names --- DEVELOPERS.md | 9 +++++ requirements.prod.in | 10 +++--- requirements.prod.txt | 78 +++++++++++++++++++++---------------------- 3 files changed, 53 insertions(+), 44 deletions(-) diff --git a/DEVELOPERS.md b/DEVELOPERS.md index 32f4bf163..29a786545 100644 --- a/DEVELOPERS.md +++ b/DEVELOPERS.md @@ -16,6 +16,7 @@ - [Running the local asset server](#running-the-local-asset-server) - [Compiling assets](#compiling-assets) - [Data Setup](#data-setup) + - [Upgrade OpenTelemetry dependencies](#pip-opentelemetry) - [Deployment](#deployment) - [Testing](#testing) - [Slack Testing](#slack-testing) @@ -257,6 +258,14 @@ In that situation you can follow the steps below to set up your local copy of th If you need one or more Jobs linked to the JobRequest you will need to create them in the database or with the Django shell. +### pip-opentelemetry + +The opentelemetry dependencies need to be upgraded as a group. To do this, bump the relevant versions in `requirements.prod.in` and then attempt to manually resolve the dependencies by upgrading a number of packages simultaneously. A recent example of this is: + +```bash +$ pip-compile --resolver=backtracking --allow-unsafe --generate-hashes --strip-extras --output-file=requirements.prod.txt requirements.prod.in --upgrade-package opentelemetry-instrumentation --upgrade-package opentelemetry-exporter-otlp-proto-http --upgrade-package opentelemetry-sdk --upgrade-package opentelemetry-instrumentation-django --upgrade-package opentelemetry-instrumentation-psycopg2 --upgrade-package opentelemetry-instrumentation-requests --upgrade-package opentelemetry-instrumentation-wsgi --upgrade-package opentelemetry-semantic-conventions --upgrade-package opentelemetry-util-http --upgrade-package opentelemetry-instrumentation-dbapi --upgrade-package opentelemetry-api --upgrade-package opentelemetry-proto --upgrade-package opentelemetry-exporter-otlp-proto-common +``` + ## Deployment diff --git a/requirements.prod.in b/requirements.prod.in index 8b43e198a..d097bb241 100644 --- a/requirements.prod.in +++ b/requirements.prod.in @@ -27,11 +27,11 @@ psycopg[binary] pydantic pygments python-ulid -opentelemetry-exporter-otlp-proto-http -opentelemetry-instrumentation-django -opentelemetry-instrumentation-requests -opentelemetry-instrumentation-psycopg2 -opentelemetry-sdk +opentelemetry-exporter-otlp-proto-http==1.22.0 +opentelemetry-instrumentation-django==0.43b0 +opentelemetry-instrumentation-requests==0.43b0 +opentelemetry-instrumentation-psycopg2==0.43b0 +opentelemetry-sdk==1.22.0 requests sentry-sdk slack-sdk diff --git a/requirements.prod.txt b/requirements.prod.txt index 90c11b79a..d99e593b5 100644 --- a/requirements.prod.txt +++ b/requirements.prod.txt @@ -629,9 +629,9 @@ oauthlib==3.2.2 \ opensafely-pipeline @ https://github.com/opensafely-core/pipeline/archive/refs/tags/v2023.11.06.145820.zip \ --hash=sha256:cc37eefd337c3cbad92bfbd7bad506d4dab9b661d66bbcf0a911eef6f5dcba56 # via -r requirements.prod.in -opentelemetry-api==1.20.0 \ - --hash=sha256:06abe351db7572f8afdd0fb889ce53f3c992dbf6f6262507b385cc1963e06983 \ - --hash=sha256:982b76036fec0fdaf490ae3dfd9f28c81442a33414f737abc687a32758cdcba5 +opentelemetry-api==1.22.0 \ + --hash=sha256:15ae4ca925ecf9cfdfb7a709250846fbb08072260fca08ade78056c502b86bed \ + --hash=sha256:43621514301a7e9f5d06dd8013a1b450f30c2e9372b8e30aaeb4562abf2ce034 # via # opentelemetry-exporter-otlp-proto-http # opentelemetry-instrumentation @@ -641,67 +641,67 @@ opentelemetry-api==1.20.0 \ # opentelemetry-instrumentation-requests # opentelemetry-instrumentation-wsgi # opentelemetry-sdk -opentelemetry-exporter-otlp-proto-common==1.20.0 \ - --hash=sha256:dd63209b40702636ab6ae76a06b401b646ad7b008a906ecb41222d4af24fbdef \ - --hash=sha256:df60c681bd61812e50b3a39a7a1afeeb6d4066117583249fcc262269374e7a49 +opentelemetry-exporter-otlp-proto-common==1.22.0 \ + --hash=sha256:3f2538bec5312587f8676c332b3747f54c89fe6364803a807e217af4603201fa \ + --hash=sha256:71ae2f81bc6d6fe408d06388826edc8933759b2ca3a97d24054507dc7cfce52d # via opentelemetry-exporter-otlp-proto-http -opentelemetry-exporter-otlp-proto-http==1.20.0 \ - --hash=sha256:03f6e768ad25f1c3a9586e8c695db4a4adf978f8546a1285fa962e16bfbb0bd6 \ - --hash=sha256:500f42821420fdf0759193d6438edc0f4e984a83e14c08a23023c06a188861b4 +opentelemetry-exporter-otlp-proto-http==1.22.0 \ + --hash=sha256:79ed108981ec68d5f7985355bca32003c2f3a5be1534a96d62d5861b758a82f4 \ + --hash=sha256:e002e842190af45b91dc55a97789d0b98e4308c88d886b16049ee90e17a4d396 # via -r requirements.prod.in -opentelemetry-instrumentation==0.41b0 \ - --hash=sha256:0ef9e5705ceca0205992a4a845ae4251ce6ec15a1206ca07c2b00afb0c5bd386 \ - --hash=sha256:214382ba10dfd29d4e24898a4c7ef18b7368178a6277a1aec95cdb75cabf4612 +opentelemetry-instrumentation==0.43b0 \ + --hash=sha256:0ff1334d7e359e27640e9d420024efeb73eacae464309c2e14ede7ba6c93967e \ + --hash=sha256:c3755da6c4be8033be0216d0501e11f4832690f4e2eca5a3576fbf113498f0f6 # via # opentelemetry-instrumentation-dbapi # opentelemetry-instrumentation-django # opentelemetry-instrumentation-psycopg2 # opentelemetry-instrumentation-requests # opentelemetry-instrumentation-wsgi -opentelemetry-instrumentation-dbapi==0.41b0 \ - --hash=sha256:53a3925eb7e8e89cff45fb90a15c5fb520fc75f934dee36f315af24f1bf25701 \ - --hash=sha256:b34cf3d9c3e7dd0a4ca6a75913a8cebe54b5b977464db4371ed00da48f9040e6 +opentelemetry-instrumentation-dbapi==0.43b0 \ + --hash=sha256:1093c97ec1e3fd6a9e44367772d627c7803ecab2c5b397236192855115484ebf \ + --hash=sha256:2c02f0b2f2f3bc28c0afdf1eb42af2c015095f482f2bb179bec9d4b66345efa5 # via opentelemetry-instrumentation-psycopg2 -opentelemetry-instrumentation-django==0.41b0 \ - --hash=sha256:3942e54d0cd5f220ff299b8e84b5fb42c9c43d2a8e0bad2cbb47722147a1bc3d \ - --hash=sha256:96fb8169a7ed1e5cc1a26b00b9c6556af4b5f11ad6ea69df0e3bd76813baa8e3 +opentelemetry-instrumentation-django==0.43b0 \ + --hash=sha256:21d6cf88573b9eb2cc29ec65587d26118ce84a179549cb590cc1ffccf15f8fe6 \ + --hash=sha256:af7934e14764c023003bb5c14eb086c9cdf39fdba16f3ffb611baac920860339 # via -r requirements.prod.in -opentelemetry-instrumentation-psycopg2==0.41b0 \ - --hash=sha256:0d6852e568f7e8750abf4cf49f1cab09dcf6f49ef9b2ab820a091c679d710c2a \ - --hash=sha256:94b511b752fc4d12d4c473cda2218a42248ac3a5a9b3d4ac2d5e247537fa7785 +opentelemetry-instrumentation-psycopg2==0.43b0 \ + --hash=sha256:1c538ebfc001b4f1a4de5f713aeca9a5ba4a0b583369a0fda18dfc416fbab84b \ + --hash=sha256:4fdf8890d81ae89f92a0e361adcb17487f533ec241dee67730f66d1804f83a07 # via -r requirements.prod.in -opentelemetry-instrumentation-requests==0.41b0 \ - --hash=sha256:687fde31111669e729054e64d246c96b0b9d4d8702bd0e3569b7660bdb528d71 \ - --hash=sha256:bdc5515ae7533e620b312fd989941b7c2c92d492a2d4418f6ef8db5d7422fa64 +opentelemetry-instrumentation-requests==0.43b0 \ + --hash=sha256:cd9d0862ab8c8892a207dd828134f23c6a5014756f0f055120412aa00be7732d \ + --hash=sha256:fd92c278d463dbad39cdc42e4f5871de8f66560cf9b40191b554a293aa6faf49 # via -r requirements.prod.in -opentelemetry-instrumentation-wsgi==0.41b0 \ - --hash=sha256:0095834dda60f876c7ed00bc16292b40db86f8cfebdf251417adbd9810993644 \ - --hash=sha256:4c689d59f8e33d2c7a990e475b7934baca554f35684adc346f0882d974c7dc2d +opentelemetry-instrumentation-wsgi==0.43b0 \ + --hash=sha256:0b7511469daa29a6e75b9cc54b4d01a9bb46aa1f964471dc3ee3f06ff39f94b2 \ + --hash=sha256:3a1cf045f7ccf04987a89cdd49eda93e9195de4c8b73be228a9e565ec3ab453c # via opentelemetry-instrumentation-django -opentelemetry-proto==1.20.0 \ - --hash=sha256:512c3d2c6864fb7547a69577c3907348e6c985b7a204533563cb4c4c5046203b \ - --hash=sha256:cf01f49b3072ee57468bccb1a4f93bdb55411f4512d0ac3f97c5c04c0040b5a2 +opentelemetry-proto==1.22.0 \ + --hash=sha256:9ec29169286029f17ca34ec1f3455802ffb90131642d2f545ece9a63e8f69003 \ + --hash=sha256:ce7188d22c75b6d0fe53e7fb58501613d0feade5139538e79dedd9420610fa0c # via # opentelemetry-exporter-otlp-proto-common # opentelemetry-exporter-otlp-proto-http -opentelemetry-sdk==1.20.0 \ - --hash=sha256:702e432a457fa717fd2ddfd30640180e69938f85bb7fec3e479f85f61c1843f8 \ - --hash=sha256:f2230c276ff4c63ea09b3cb2e2ac6b1265f90af64e8d16bbf275c81a9ce8e804 +opentelemetry-sdk==1.22.0 \ + --hash=sha256:45267ac1f38a431fc2eb5d6e0c0d83afc0b78de57ac345488aa58c28c17991d0 \ + --hash=sha256:a730555713d7c8931657612a88a141e3a4fe6eb5523d9e2d5a8b1e673d76efa6 # via # -r requirements.prod.in # opentelemetry-exporter-otlp-proto-http -opentelemetry-semantic-conventions==0.41b0 \ - --hash=sha256:0ce5b040b8a3fc816ea5879a743b3d6fe5db61f6485e4def94c6ee4d402e1eb7 \ - --hash=sha256:45404391ed9e50998183a4925ad1b497c01c143f06500c3b9c3d0013492bb0f2 +opentelemetry-semantic-conventions==0.43b0 \ + --hash=sha256:291284d7c1bf15fdaddf309b3bd6d3b7ce12a253cec6d27144439819a15d8445 \ + --hash=sha256:b9576fb890df479626fa624e88dde42d3d60b8b6c8ae1152ad157a8b97358635 # via # opentelemetry-instrumentation-dbapi # opentelemetry-instrumentation-django # opentelemetry-instrumentation-requests # opentelemetry-instrumentation-wsgi # opentelemetry-sdk -opentelemetry-util-http==0.41b0 \ - --hash=sha256:16d5bd04a380dc1079e766562d1e1626cbb47720f197f67010c45f090fffdfb3 \ - --hash=sha256:6a167fd1e0e8b0f629530d971165b5d82ed0be2154b7f29498499c3a517edee5 +opentelemetry-util-http==0.43b0 \ + --hash=sha256:3ff6ab361dbe99fc81200d625603c0fb890c055c6e416a3e6d661ddf47a6c7f7 \ + --hash=sha256:f25a820784b030f6cb86b3d76e5676c769b75ed3f55a210bcdae0a5e175ebadb # via # opentelemetry-instrumentation-django # opentelemetry-instrumentation-requests