From 17d31cc594f73205d9a300320ceb2ca123fb658b Mon Sep 17 00:00:00 2001 From: Tom Taylor Date: Fri, 25 Aug 2023 21:11:23 +0100 Subject: [PATCH 1/6] Improve test matrix and add support for Elixir 1.15 and OTP 26 (#188) * Use test matrix from file * Only check formatting on specific Elixir version * Use latest patch version of each Elixir/OTP release in test matrix * Test on Elixir 1.15 and OTP 26 * Run formatter on opentelemetry_httpoison * Run formatter on opentelemetry_phoenix * Run formatter on opentelemetry_tesla * Fix building opentelemetry_ecto on Elixir 1.15 Upgraded deps to fix ssl_verify_fun not compiling * Fix building opentelemetry_dataloader on Elixir 1.15 Upgraded deps to fix ssl_verify_fun and ecto_sql not compiling * Upgrade opentelemetry_finch to build on Elixir 1.15 * Upgrade opentelemetry_httpoison deps to build on 1.15 * Upgrade opentelemetry_nebulex to build on Elixir 1.15 * Upgrade opentelemetry_oban to build on Elixir 1.15 * Upgrade opentelemetry_phoenix deps to build on 1.15 * Upgrade opentelemetry_redix deps to build on 1.15 * Fix warning about <> being ambiguous * Fix assertion on attributes keys These are always atoms, not strings. * Upgrade ssl_verify_fun in opentelemetry_telemetry * Deterministically sort keys before asserting in tests * Upgrade opentelemetry_process_propogator to build on Elixir 1.15 * Run mix format on opentelemetry_process_propogator * Assert keys are atoms, not strings * Use matrix.os to define runs-on parameter * Pin test matrix to specific OTP + Elixir versions * Run formatter on telemetry and process_propagator * Run formatter over opentelemetry_phoenix --------- Co-authored-by: Tristan Sloughter --- .github/elixir-test-matrix.json | 43 ++++++++-- .github/erlang-test-matrix.json | 14 +--- .github/workflows/elixir.yml | 76 ++++++++++-------- .github/workflows/erlang.yml | 21 ++--- .../opentelemetry_dataloader/mix.lock | 23 +++--- .../lib/opentelemetry_ecto.ex | 16 +++- instrumentation/opentelemetry_ecto/mix.lock | 23 +++--- instrumentation/opentelemetry_finch/mix.lock | 10 +-- .../opentelemetry_httpoison/mix.lock | 6 +- .../test/opentelemetry_httpoison_test.exs | 36 +++------ .../opentelemetry_nebulex/mix.lock | 15 ++-- instrumentation/opentelemetry_oban/mix.lock | 18 ++--- .../plugin_handler_test.exs | 4 +- .../test/opentelemetry_oban_test.exs | 12 +-- .../lib/opentelemetry_phoenix.ex | 3 +- .../opentelemetry_phoenix/mix.lock | 11 ++- .../test/opentelemetry_phoenix_test.exs | 8 +- .../test/support/phoenix_meta.ex | 78 +++++++++---------- instrumentation/opentelemetry_redix/mix.lock | 10 +-- .../opentelemetry_tesla_middleware_test.exs | 6 +- .../lib/task.ex | 18 ++--- .../lib/task/supervisor.ex | 18 ++--- .../opentelemetry_process_propagator/mix.exs | 4 +- .../opentelemetry_process_propagator/mix.lock | 11 +-- utilities/opentelemetry_telemetry/mix.exs | 4 +- utilities/opentelemetry_telemetry/mix.lock | 11 +-- 26 files changed, 264 insertions(+), 235 deletions(-) diff --git a/.github/elixir-test-matrix.json b/.github/elixir-test-matrix.json index 43bcc7c9..ef1a54d0 100644 --- a/.github/elixir-test-matrix.json +++ b/.github/elixir-test-matrix.json @@ -1,11 +1,13 @@ { "otp_version": [ - "25.1.2", - "24.3.4.6", - "23.3.4.18" + "26.0.2", + "25.3.2.5", + "24.3.4.13", + "23.3.4.19" ], "elixir_version": [ - "1.14.2", + "1.15.4", + "1.14.4", "1.13.4", "1.12.3", "1.11.4" @@ -16,14 +18,41 @@ "os": [ "ubuntu-20.04" ], + "include": [ + { + "elixir_version": "1.15.4", + "otp_version": "26.0.2", + "check_formatted": true + } + ], "exclude": [ { - "elixir_version": "1.11.4", - "erlang_version": "25.1.2" + "elixir_version": "1.15.4", + "otp_version": "23.3.4.19" + }, + { + "elixir_version": "1.14.4", + "otp_version": "26.0.2" + }, + { + "elixir_version": "1.13.4", + "otp_version": "26.0.2" }, { "elixir_version": "1.12.3", - "erlang_version": "25.1.2" + "otp_version": "25.3.2.5" + }, + { + "elixir_version": "1.12.3", + "otp_version": "26.0.2" + }, + { + "elixir_version": "1.11.4", + "otp_version": "25.3.2.5" + }, + { + "elixir_version": "1.11.4", + "otp_version": "26.0.2" } ] } \ No newline at end of file diff --git a/.github/erlang-test-matrix.json b/.github/erlang-test-matrix.json index 2e2953ee..b8c18a5f 100644 --- a/.github/erlang-test-matrix.json +++ b/.github/erlang-test-matrix.json @@ -1,13 +1,5 @@ { - "otp_version": [ - "25.1.2", - "24.3.4.6", - "23.3.4.10" - ], - "rebar3_version": [ - "3.20" - ], - "os": [ - "ubuntu-20.04" - ] + "otp_version": ["26.0.2", "25.3.5.2", "24.3.4.13", "23.3.4.19"], + "rebar3_version": ["3.20"], + "os": ["ubuntu-20.04"] } diff --git a/.github/workflows/elixir.yml b/.github/workflows/elixir.yml index 7b4b98be..09878a6f 100644 --- a/.github/workflows/elixir.yml +++ b/.github/workflows/elixir.yml @@ -3,12 +3,12 @@ name: Elixir on: pull_request: branches: - - 'main' + - "main" types: [opened, reopened, synchronize, labeled] push: branches: - - 'main' + - "main" concurrency: group: ci-${{ github.head_ref || github.run_id }}-elixir @@ -24,18 +24,18 @@ jobs: - name: Read file id: set-matrix run: | - matrixStringifiedObject="{\"otp_version\":[\"25.1.2\",\"24.3.4.6\",\"23.3.4.18\"],\"elixir_version\":[\"1.14.2\",\"1.13.4\"],\"rebar3_version\":[\"3.20\"],\"os\":[\"ubuntu-20.04\"]}" + matrixStringifiedObject="$(jq -c . .github/elixir-test-matrix.json)" echo "matrix=$matrixStringifiedObject" >> $GITHUB_OUTPUT - echo "matrix_exclude=" + opentelemetry-ecto: needs: [test-matrix] if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_ecto')) env: - app: 'opentelemetry_ecto' + app: "opentelemetry_ecto" defaults: run: working-directory: instrumentation/${{ env.app }} - runs-on: ubuntu-20.04 + runs-on: ${{ matrix.os }} name: Opentelemetry Ecto test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false @@ -43,7 +43,7 @@ jobs: services: postgres: image: circleci/postgres:13.3-ram - ports: ['5432:5432'] + ports: ["5432:5432"] options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 env: POSTGRES_USER: postgres @@ -70,6 +70,7 @@ jobs: run: mix compile --warnings-as-errors - name: Check formatting run: mix format --check-formatted + if: matrix.check_formatted - name: Test run: mix test @@ -77,11 +78,11 @@ jobs: needs: [test-matrix] if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_nebulex')) env: - app: 'opentelemetry_nebulex' + app: "opentelemetry_nebulex" defaults: run: working-directory: instrumentation/${{ env.app }} - runs-on: ubuntu-18.04 + runs-on: ${{ matrix.os }} name: Opentelemetry Nebulex test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false @@ -107,6 +108,7 @@ jobs: run: mix compile --warnings-as-errors - name: Check formatting run: mix format --check-formatted + if: matrix.check_formatted - name: Test run: mix test @@ -114,11 +116,11 @@ jobs: needs: [test-matrix] if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_phoenix')) env: - app: 'opentelemetry_phoenix' + app: "opentelemetry_phoenix" defaults: run: working-directory: instrumentation/${{ env.app }} - runs-on: ubuntu-20.04 + runs-on: ${{ matrix.os }} name: Opentelemetry Phoenix test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false @@ -144,6 +146,7 @@ jobs: run: mix compile --warnings-as-errors - name: Check formatting run: mix format --check-formatted + if: matrix.check_formatted - name: Test run: mix test @@ -151,11 +154,11 @@ jobs: needs: [test-matrix] if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_redix')) env: - app: 'opentelemetry_redix' + app: "opentelemetry_redix" defaults: run: working-directory: instrumentation/${{ env.app }} - runs-on: ubuntu-20.04 + runs-on: ${{ matrix.os }} name: Opentelemetry Redix test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false @@ -163,7 +166,7 @@ jobs: services: redis: image: redis:alpine - ports: ['6379:6379'] + ports: ["6379:6379"] steps: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 @@ -185,6 +188,7 @@ jobs: run: mix compile --warnings-as-errors - name: Check formatting run: mix format --check-formatted + if: matrix.check_formatted - name: Test run: mix test @@ -192,11 +196,11 @@ jobs: needs: [test-matrix] if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_req')) env: - app: 'opentelemetry_req' + app: "opentelemetry_req" defaults: run: working-directory: instrumentation/${{ env.app }} - runs-on: ubuntu-20.04 + runs-on: ${{ matrix.os }} name: Opentelemetry Req test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false @@ -222,6 +226,7 @@ jobs: run: mix compile --warnings-as-errors - name: Check formatting run: mix format --check-formatted + if: matrix.check_formatted - name: Test run: mix test @@ -229,11 +234,11 @@ jobs: needs: [test-matrix] if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_finch')) env: - app: 'opentelemetry_finch' + app: "opentelemetry_finch" defaults: run: working-directory: instrumentation/${{ env.app }} - runs-on: ubuntu-20.04 + runs-on: ${{ matrix.os }} name: Opentelemetry Finch test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false @@ -259,6 +264,7 @@ jobs: run: mix compile --warnings-as-errors - name: Check formatting run: mix format --check-formatted + if: matrix.check_formatted - name: Test run: mix test @@ -266,11 +272,11 @@ jobs: needs: [test-matrix] if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_telemetry')) env: - app: 'opentelemetry_telemetry' + app: "opentelemetry_telemetry" defaults: run: working-directory: utilities/${{ env.app }} - runs-on: ubuntu-20.04 + runs-on: ${{ matrix.os }} name: Opentelemetry Telemetry test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false @@ -296,6 +302,7 @@ jobs: run: mix compile --warnings-as-errors - name: Check formatting run: mix format --check-formatted + if: matrix.check_formatted - name: Test run: mix test @@ -303,11 +310,11 @@ jobs: needs: [test-matrix] if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_oban')) env: - app: 'opentelemetry_oban' + app: "opentelemetry_oban" defaults: run: working-directory: instrumentation/${{ env.app }} - runs-on: ubuntu-20.04 + runs-on: ${{ matrix.os }} name: Opentelemetry Oban test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false @@ -315,7 +322,7 @@ jobs: services: postgres: image: circleci/postgres:13.3-ram - ports: ['5432:5432'] + ports: ["5432:5432"] options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 env: POSTGRES_USER: postgres @@ -342,17 +349,19 @@ jobs: run: mix compile --warnings-as-errors - name: Check formatting run: mix format --check-formatted + if: matrix.check_formatted - name: Test run: mix test + opentelemetry-dataloader: needs: [test-matrix] if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_dataloader')) env: - app: 'opentelemetry_dataloader' + app: "opentelemetry_dataloader" defaults: run: working-directory: instrumentation/${{ env.app }} - runs-on: ubuntu-20.04 + runs-on: ${{ matrix.os }} name: Opentelemetry Dataloader test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false @@ -360,7 +369,7 @@ jobs: services: postgres: image: circleci/postgres:13.3-ram - ports: ['5432:5432'] + ports: ["5432:5432"] options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 env: POSTGRES_USER: postgres @@ -388,17 +397,19 @@ jobs: run: mix compile --warnings-as-errors - name: Check formatting run: mix format --check-formatted + if: matrix.check_formatted - name: Test run: mix test + opentelemetry-process-propagator: needs: [test-matrix] if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_process_propagator')) env: - app: 'opentelemetry_process_propagator' + app: "opentelemetry_process_propagator" defaults: run: working-directory: propagators/${{ env.app }} - runs-on: ubuntu-20.04 + runs-on: ${{ matrix.os }} name: Opentelemetry Process Propagator test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false @@ -424,6 +435,7 @@ jobs: run: mix compile --warnings-as-errors - name: Check formatting run: mix format --check-formatted + if: matrix.check_formatted - name: Test run: mix test @@ -431,11 +443,11 @@ jobs: needs: [test-matrix] if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_tesla')) env: - app: 'opentelemetry_tesla' + app: "opentelemetry_tesla" defaults: run: working-directory: instrumentation/${{ env.app }} - runs-on: ubuntu-20.04 + runs-on: ${{ matrix.os }} name: Opentelemetry Tesla test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false @@ -461,6 +473,7 @@ jobs: run: mix compile --warnings-as-errors - name: Check formatting run: mix format --check-formatted + if: matrix.check_formatted - name: Test run: mix test @@ -468,7 +481,7 @@ jobs: needs: [test-matrix] if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_httpoison')) env: - app: 'opentelemetry_httpoison' + app: "opentelemetry_httpoison" defaults: run: working-directory: instrumentation/${{ env.app }} @@ -498,5 +511,6 @@ jobs: run: mix compile --warnings-as-errors - name: Check formatting run: mix format --check-formatted + if: matrix.check_formatted - name: Test run: mix test diff --git a/.github/workflows/erlang.yml b/.github/workflows/erlang.yml index 43b49929..6e9c8735 100644 --- a/.github/workflows/erlang.yml +++ b/.github/workflows/erlang.yml @@ -3,12 +3,12 @@ name: Erlang on: pull_request: branches: - - 'main' + - "main" types: [opened, reopened, synchronize, labeled] push: branches: - - 'main' + - "main" concurrency: group: ci-${{ github.head_ref || github.run_id }}-erlang @@ -24,17 +24,18 @@ jobs: - name: Read file id: set-matrix run: | - matrixStringifiedObject="{\"otp_version\":[\"25.1.2\",\"24.3.4.6\",\"23.3.4.10\"],\"rebar3_version\":[\"3.20\"],\"os\":[\"ubuntu-20.04\"]}" + matrixStringifiedObject="$(jq -c . .github/erlang-test-matrix.json)" echo "matrix=$matrixStringifiedObject" >> $GITHUB_OUTPUT + opentelemetry-cowboy: needs: [test-matrix] if: (contains(github.event.pull_request.labels.*.name, 'erlang') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_cowboy')) env: - app: 'opentelemetry_cowboy' + app: "opentelemetry_cowboy" defaults: run: working-directory: instrumentation/${{ env.app }} - runs-on: ubuntu-20.04 + runs-on: ${{ matrix.os }} name: Opentelemetry Cowboy test on OTP ${{ matrix.otp_version }} with Rebar3 ${{ matrix.rebar3_version }} strategy: fail-fast: false @@ -61,11 +62,11 @@ jobs: needs: [test-matrix] if: (contains(github.event.pull_request.labels.*.name, 'erlang') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_telemetry')) env: - app: 'opentelemetry_telemetry' + app: "opentelemetry_telemetry" defaults: run: working-directory: utilities/${{ env.app }} - runs-on: ubuntu-20.04 + runs-on: ${{ matrix.os }} name: Opentelemetry Telemetry test on OTP ${{ matrix.otp_version }} with Rebar3 ${{ matrix.rebar3_version }} strategy: fail-fast: false @@ -92,11 +93,11 @@ jobs: needs: [test-matrix] if: (contains(github.event.pull_request.labels.*.name, 'erlang') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_aws_xray')) env: - app: 'opentelemetry_aws_xray' + app: "opentelemetry_aws_xray" defaults: run: working-directory: utilities/${{ env.app }} - runs-on: ubuntu-20.04 + runs-on: ${{ matrix.os }} name: Opentelemetry AWS X-Ray test on OTP ${{ matrix.otp_version }} with Rebar3 ${{ matrix.rebar3_version }} strategy: fail-fast: false @@ -127,7 +128,7 @@ jobs: defaults: run: working-directory: utilities/${{ env.app }} - runs-on: ubuntu-20.04 + runs-on: ${{ matrix.os }} name: OpenTelemetry Instrumentation HTTP test on OTP ${{ matrix.otp_version }} with Rebar3 ${{ matrix.rebar3_version }} strategy: fail-fast: false diff --git a/instrumentation/opentelemetry_dataloader/mix.lock b/instrumentation/opentelemetry_dataloader/mix.lock index 23a30d9b..3475e72e 100644 --- a/instrumentation/opentelemetry_dataloader/mix.lock +++ b/instrumentation/opentelemetry_dataloader/mix.lock @@ -4,12 +4,12 @@ "connection": {:hex, :connection, "1.1.0", "ff2a49c4b75b6fb3e674bfc5536451607270aac754ffd1bdfe175abe4a6d7a68", [:mix], [], "hexpm", "722c1eb0a418fbe91ba7bd59a47e28008a189d47e37e0e7bb85585a016b2869c"}, "ctx": {:hex, :ctx, "0.6.0", "8ff88b70e6400c4df90142e7f130625b82086077a45364a78d208ed3ed53c7fe", [:rebar3], [], "hexpm", "a14ed2d1b67723dbebbe423b28d7615eb0bdcba6ff28f2d1f1b0a7e1d4aa5fc2"}, "dataloader": {:hex, :dataloader, "1.0.10", "a42f07641b1a0572e0b21a2a5ae1be11da486a6790f3d0d14512d96ff3e3bbe9", [:mix], [{:ecto, ">= 3.4.3 and < 4.0.0", [hex: :ecto, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "54cd70cec09addf4b2ace14cc186a283a149fd4d3ec5475b155951bf33cd963f"}, - "db_connection": {:hex, :db_connection, "2.4.3", "3b9aac9f27347ec65b271847e6baeb4443d8474289bd18c1d6f4de655b70c94d", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c127c15b0fa6cfb32eed07465e05da6c815b032508d4ed7c116122871df73c12"}, - "decimal": {:hex, :decimal, "2.0.0", "a78296e617b0f5dd4c6caf57c714431347912ffb1d0842e998e9792b5642d697", [:mix], [], "hexpm", "34666e9c55dea81013e77d9d87370fe6cb6291d1ef32f46a1600230b1d44f577"}, + "db_connection": {:hex, :db_connection, "2.5.0", "bb6d4f30d35ded97b29fe80d8bd6f928a1912ca1ff110831edcd238a1973652c", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c92d5ba26cd69ead1ff7582dbb860adeedfff39774105a4f1c92cbb654b55aa2"}, + "decimal": {:hex, :decimal, "2.1.1", "5611dca5d4b2c3dd497dec8f68751f1f1a54755e8ed2a966c2633cf885973ad6", [:mix], [], "hexpm", "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc"}, "dialyxir": {:hex, :dialyxir, "1.2.0", "58344b3e87c2e7095304c81a9ae65cb68b613e28340690dfe1a5597fd08dec37", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "61072136427a851674cab81762be4dbeae7679f85b1272b6d25c3a839aff8463"}, "earmark_parser": {:hex, :earmark_parser, "1.4.29", "149d50dcb3a93d9f3d6f3ecf18c918fb5a2d3c001b5d3305c926cddfbd33355b", [:mix], [], "hexpm", "4902af1b3eb139016aed210888748db8070b8125c2342ce3dcae4f38dcc63503"}, - "ecto": {:hex, :ecto, "3.9.2", "017db3bc786ff64271108522c01a5d3f6ba0aea5c84912cfb0dd73bf13684108", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "21466d5177e09e55289ac7eade579a642578242c7a3a9f91ad5c6583337a9d15"}, - "ecto_sql": {:hex, :ecto_sql, "3.9.1", "9bd5894eecc53d5b39d0c95180d4466aff00e10679e13a5cfa725f6f85c03c22", [:mix], [{:db_connection, "~> 2.4.1 or ~> 2.5", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.9.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.6.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.16.0 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1 or ~> 2.2", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "5fd470a4fff2e829bbf9dcceb7f3f9f6d1e49b4241e802f614de6b8b67c51118"}, + "ecto": {:hex, :ecto, "3.10.3", "eb2ae2eecd210b4eb8bece1217b297ad4ff824b4384c0e3fdd28aaf96edd6135", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "44bec74e2364d491d70f7e42cd0d690922659d329f6465e89feb8a34e8cd3433"}, + "ecto_sql": {:hex, :ecto_sql, "3.10.1", "6ea6b3036a0b0ca94c2a02613fd9f742614b5cfe494c41af2e6571bb034dd94c", [:mix], [{:db_connection, "~> 2.4.1 or ~> 2.5", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.10.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.6.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.16.0 or ~> 0.17.0 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1 or ~> 2.2", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f6a25bdbbd695f12c8171eaff0851fa4c8e72eec1e98c7364402dda9ce11c56b"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex_doc": {:hex, :ex_doc, "0.29.1", "b1c652fa5f92ee9cf15c75271168027f92039b3877094290a75abcaac82a9f77", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "b7745fa6374a36daf484e2a2012274950e084815b936b1319aeebcf7809574f6"}, "gproc": {:hex, :gproc, "0.8.0", "cea02c578589c61e5341fce149ea36ccef236cc2ecac8691fba408e7ea77ec2f", [:rebar3], [], "hexpm", "580adafa56463b75263ef5a5df4c86af321f68694e7786cb057fd805d1e2a7de"}, @@ -19,14 +19,15 @@ "makeup_elixir": {:hex, :makeup_elixir, "0.16.0", "f8c570a0d33f8039513fbccaf7108c5d750f47d8defd44088371191b76492b0b", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "28b2cbdc13960a46ae9a8858c4bebdec3c9a6d7b4b9e7f4ed1502f8159f338e7"}, "makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"}, "nimble_parsec": {:hex, :nimble_parsec, "1.2.3", "244836e6e3f1200c7f30cb56733fd808744eca61fd182f731eac4af635cc6d0b", [:mix], [], "hexpm", "c8d789e39b9131acf7b99291e93dae60ab48ef14a7ee9d58c6964f59efb570b0"}, - "opentelemetry": {:hex, :opentelemetry, "1.1.2", "77ba2fd2fee67bebde590851a4afeda45b3f298310aa410a2a3804b364cb598a", [:rebar3], [{:opentelemetry_api, "~> 1.1", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}], "hexpm", "5c60be189d6aed64a9fd17055f72c93eab144be441e625276c3c95533e6bb4c7"}, - "opentelemetry_api": {:hex, :opentelemetry_api, "1.1.1", "3b43877c456c8a7f5448a95d9bf4fb4bb8cc2abbbea2c62d5f8e8c538b4af14f", [:mix, :rebar3], [], "hexpm", "a9554b3208b60a70043318d051ea78fbbc7a1b8f4c418ebc16ccb40015995675"}, - "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.2.2", "3966c56656627ef7db6c34c4ce28d44ac8629dcd065a310d7c33712fc2a1cfe3", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.1", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.1", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.11", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "5c11adeda19e0d203a04efe92cdd7a183da4b09ae8acaba7608e9303fa258e74"}, + "opentelemetry": {:hex, :opentelemetry, "1.3.0", "988ac3c26acac9720a1d4fb8d9dc52e95b45ecfec2d5b5583276a09e8936bc5e", [:rebar3], [{:opentelemetry_api, "~> 1.2.0", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "8e09edc26aad11161509d7ecad854a3285d88580f93b63b0b1cf0bac332bfcc0"}, + "opentelemetry_api": {:hex, :opentelemetry_api, "1.2.1", "7b69ed4f40025c005de0b74fce8c0549625d59cb4df12d15c32fe6dc5076ff42", [:mix, :rebar3], [{:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "6d7a27b7cad2ad69a09cabf6670514cafcec717c8441beb5c96322bac3d05350"}, + "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.6.0", "f4fbf69aa9f1541b253813221b82b48a9863bc1570d8ecc517bc510c0d1d3d8c", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.3", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.2", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.18", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "1802d1dca297e46f21e5832ecf843c451121e875f73f04db87355a6cb2ba1710"}, "opentelemetry_process_propagator": {:hex, :opentelemetry_process_propagator, "0.2.1", "20ac37648faf7175cade16fda8d58e6f1ff1b7f2a50a8ef9d70a032c41aba315", [:mix, :rebar3], [{:opentelemetry_api, "~> 1.0", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}], "hexpm", "f317237e39636d4f6140afa5d419e85ed3dc9e9a57072e7cd442df42af7b8aac"}, + "opentelemetry_semantic_conventions": {:hex, :opentelemetry_semantic_conventions, "0.2.0", "b67fe459c2938fcab341cb0951c44860c62347c005ace1b50f8402576f241435", [:mix, :rebar3], [], "hexpm", "d61fa1f5639ee8668d74b527e6806e0503efc55a42db7b5f39939d84c07d6895"}, "opentelemetry_telemetry": {:hex, :opentelemetry_telemetry, "1.0.0", "d5982a319e725fcd2305b306b65c18a86afdcf7d96821473cf0649ff88877615", [:mix, :rebar3], [{:opentelemetry_api, "~> 1.0", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:telemetry_registry, "~> 0.3.0", [hex: :telemetry_registry, repo: "hexpm", optional: false]}], "hexpm", "3401d13a1d4b7aa941a77e6b3ec074f0ae77f83b5b2206766ce630123a9291a9"}, - "postgrex": {:hex, :postgrex, "0.16.5", "fcc4035cc90e23933c5d69a9cd686e329469446ef7abba2cf70f08e2c4b69810", [:mix], [{:connection, "~> 1.1", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "edead639dc6e882618c01d8fc891214c481ab9a3788dfe38dd5e37fd1d5fb2e8"}, - "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, - "telemetry": {:hex, :telemetry, "1.1.0", "a589817034a27eab11144ad24d5c0f9fab1f58173274b1e9bae7074af9cbee51", [:rebar3], [], "hexpm", "b727b2a1f75614774cff2d7565b64d0dfa5bd52ba517f16543e6fc7efcc0df48"}, + "postgrex": {:hex, :postgrex, "0.17.2", "a3ec9e3239d9b33f1e5841565c4eb200055c52cc0757a22b63ca2d529bbe764c", [:mix], [{:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "80a918a9e9531d39f7bd70621422f3ebc93c01618c645f2d91306f50041ed90c"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, + "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, "telemetry_registry": {:hex, :telemetry_registry, "0.3.0", "6768f151ea53fc0fbca70dbff5b20a8d663ee4e0c0b2ae589590e08658e76f1e", [:mix, :rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "492e2adbc609f3e79ece7f29fec363a97a2c484ac78a83098535d6564781e917"}, - "tls_certificate_check": {:hex, :tls_certificate_check, "1.16.0", "45b05e3b993dbace2e4ebccb666eadbd038f1da8f4db9691f4f34a274dfb0bd7", [:rebar3], [{:ssl_verify_fun, "1.1.6", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "3dc0508c749619b8d6a5e21aca4d719c184f065541795b0556398c8e574a3064"}, + "tls_certificate_check": {:hex, :tls_certificate_check, "1.19.0", "c76c4c5d79ee79a2b11c84f910c825d6f024a78427c854f515748e9bd025e987", [:rebar3], [{:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "4083b4a298add534c96125337cb01161c358bb32dd870d5a893aae685fd91d70"}, } diff --git a/instrumentation/opentelemetry_ecto/lib/opentelemetry_ecto.ex b/instrumentation/opentelemetry_ecto/lib/opentelemetry_ecto.ex index 5a58ee0f..bce59063 100644 --- a/instrumentation/opentelemetry_ecto/lib/opentelemetry_ecto.ex +++ b/instrumentation/opentelemetry_ecto/lib/opentelemetry_ecto.ex @@ -75,11 +75,14 @@ defmodule OpentelemetryEcto do url end - span_name = + span_prefix = case Keyword.fetch(config, :span_prefix) do {:ok, prefix} -> prefix :error -> Enum.join(event, ".") - end <> if source != nil, do: ":#{source}", else: "" + end + + span_suffix = if source != nil, do: ":#{source}", else: "" + span_name = span_prefix <> span_suffix time_unit = Keyword.get(config, :time_unit, :microsecond) additional_attributes = Keyword.get(config, :additional_attributes, %{}) @@ -119,8 +122,13 @@ defmodule OpentelemetryEcto do attributes = measurements |> Enum.reduce(%{}, fn - {k, v}, acc when not is_nil(v) and k in [:decode_time, :query_time, :queue_time, :idle_time] -> - Map.put(acc, String.to_atom("#{k}_#{time_unit}s"), System.convert_time_unit(v, :native, time_unit)) + {k, v}, acc + when not is_nil(v) and k in [:decode_time, :query_time, :queue_time, :idle_time] -> + Map.put( + acc, + String.to_atom("#{k}_#{time_unit}s"), + System.convert_time_unit(v, :native, time_unit) + ) _, acc -> acc diff --git a/instrumentation/opentelemetry_ecto/mix.lock b/instrumentation/opentelemetry_ecto/mix.lock index 346cea72..f8683db0 100644 --- a/instrumentation/opentelemetry_ecto/mix.lock +++ b/instrumentation/opentelemetry_ecto/mix.lock @@ -3,13 +3,13 @@ "chatterbox": {:hex, :ts_chatterbox, "0.13.0", "6f059d97bcaa758b8ea6fffe2b3b81362bd06b639d3ea2bb088335511d691ebf", [:rebar3], [{:hpack, "~>0.2.3", [hex: :hpack_erl, repo: "hexpm", optional: false]}], "hexpm", "b93d19104d86af0b3f2566c4cba2a57d2e06d103728246ba1ac6c3c0ff010aa7"}, "connection": {:hex, :connection, "1.1.0", "ff2a49c4b75b6fb3e674bfc5536451607270aac754ffd1bdfe175abe4a6d7a68", [:mix], [], "hexpm", "722c1eb0a418fbe91ba7bd59a47e28008a189d47e37e0e7bb85585a016b2869c"}, "ctx": {:hex, :ctx, "0.6.0", "8ff88b70e6400c4df90142e7f130625b82086077a45364a78d208ed3ed53c7fe", [:rebar3], [], "hexpm", "a14ed2d1b67723dbebbe423b28d7615eb0bdcba6ff28f2d1f1b0a7e1d4aa5fc2"}, - "db_connection": {:hex, :db_connection, "2.4.2", "f92e79aff2375299a16bcb069a14ee8615c3414863a6fef93156aee8e86c2ff3", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "4fe53ca91b99f55ea249693a0229356a08f4d1a7931d8ffa79289b145fe83668"}, - "decimal": {:hex, :decimal, "2.0.0", "a78296e617b0f5dd4c6caf57c714431347912ffb1d0842e998e9792b5642d697", [:mix], [], "hexpm", "34666e9c55dea81013e77d9d87370fe6cb6291d1ef32f46a1600230b1d44f577"}, + "db_connection": {:hex, :db_connection, "2.5.0", "bb6d4f30d35ded97b29fe80d8bd6f928a1912ca1ff110831edcd238a1973652c", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c92d5ba26cd69ead1ff7582dbb860adeedfff39774105a4f1c92cbb654b55aa2"}, + "decimal": {:hex, :decimal, "2.1.1", "5611dca5d4b2c3dd497dec8f68751f1f1a54755e8ed2a966c2633cf885973ad6", [:mix], [], "hexpm", "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc"}, "dialyxir": {:hex, :dialyxir, "1.2.0", "58344b3e87c2e7095304c81a9ae65cb68b613e28340690dfe1a5597fd08dec37", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "61072136427a851674cab81762be4dbeae7679f85b1272b6d25c3a839aff8463"}, "earmark": {:hex, :earmark, "1.4.15", "2c7f924bf495ec1f65bd144b355d0949a05a254d0ec561740308a54946a67888", [:mix], [{:earmark_parser, ">= 1.4.13", [hex: :earmark_parser, repo: "hexpm", optional: false]}], "hexpm", "3b1209b85bc9f3586f370f7c363f6533788fb4e51db23aa79565875e7f9999ee"}, "earmark_parser": {:hex, :earmark_parser, "1.4.29", "149d50dcb3a93d9f3d6f3ecf18c918fb5a2d3c001b5d3305c926cddfbd33355b", [:mix], [], "hexpm", "4902af1b3eb139016aed210888748db8070b8125c2342ce3dcae4f38dcc63503"}, - "ecto": {:hex, :ecto, "3.9.1", "67173b1687afeb68ce805ee7420b4261649d5e2deed8fe5550df23bab0bc4396", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c80bb3d736648df790f7f92f81b36c922d9dd3203ca65be4ff01d067f54eb304"}, - "ecto_sql": {:hex, :ecto_sql, "3.9.0", "2bb21210a2a13317e098a420a8c1cc58b0c3421ab8e3acfa96417dab7817918c", [:mix], [{:db_connection, "~> 2.5 or ~> 2.4.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.9.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.6.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.16.0 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1 or ~> 2.2", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "a8f3f720073b8b1ac4c978be25fa7960ed7fd44997420c304a4a2e200b596453"}, + "ecto": {:hex, :ecto, "3.10.3", "eb2ae2eecd210b4eb8bece1217b297ad4ff824b4384c0e3fdd28aaf96edd6135", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "44bec74e2364d491d70f7e42cd0d690922659d329f6465e89feb8a34e8cd3433"}, + "ecto_sql": {:hex, :ecto_sql, "3.10.1", "6ea6b3036a0b0ca94c2a02613fd9f742614b5cfe494c41af2e6571bb034dd94c", [:mix], [{:db_connection, "~> 2.4.1 or ~> 2.5", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.10.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.6.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.16.0 or ~> 0.17.0 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1 or ~> 2.2", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f6a25bdbbd695f12c8171eaff0851fa4c8e72eec1e98c7364402dda9ce11c56b"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex_doc": {:hex, :ex_doc, "0.29.0", "4a1cb903ce746aceef9c1f9ae8a6c12b742a5461e6959b9d3b24d813ffbea146", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "f096adb8bbca677d35d278223361c7792d496b3fc0d0224c9d4bc2f651af5db1"}, "gproc": {:hex, :gproc, "0.8.0", "cea02c578589c61e5341fce149ea36ccef236cc2ecac8691fba408e7ea77ec2f", [:rebar3], [], "hexpm", "580adafa56463b75263ef5a5df4c86af321f68694e7786cb057fd805d1e2a7de"}, @@ -19,13 +19,14 @@ "makeup_elixir": {:hex, :makeup_elixir, "0.16.0", "f8c570a0d33f8039513fbccaf7108c5d750f47d8defd44088371191b76492b0b", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "28b2cbdc13960a46ae9a8858c4bebdec3c9a6d7b4b9e7f4ed1502f8159f338e7"}, "makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"}, "nimble_parsec": {:hex, :nimble_parsec, "1.2.3", "244836e6e3f1200c7f30cb56733fd808744eca61fd182f731eac4af635cc6d0b", [:mix], [], "hexpm", "c8d789e39b9131acf7b99291e93dae60ab48ef14a7ee9d58c6964f59efb570b0"}, - "opentelemetry": {:hex, :opentelemetry, "1.1.2", "77ba2fd2fee67bebde590851a4afeda45b3f298310aa410a2a3804b364cb598a", [:rebar3], [{:opentelemetry_api, "~> 1.1", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}], "hexpm", "5c60be189d6aed64a9fd17055f72c93eab144be441e625276c3c95533e6bb4c7"}, - "opentelemetry_api": {:hex, :opentelemetry_api, "1.1.1", "3b43877c456c8a7f5448a95d9bf4fb4bb8cc2abbbea2c62d5f8e8c538b4af14f", [:mix, :rebar3], [], "hexpm", "a9554b3208b60a70043318d051ea78fbbc7a1b8f4c418ebc16ccb40015995675"}, + "opentelemetry": {:hex, :opentelemetry, "1.3.0", "988ac3c26acac9720a1d4fb8d9dc52e95b45ecfec2d5b5583276a09e8936bc5e", [:rebar3], [{:opentelemetry_api, "~> 1.2.0", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "8e09edc26aad11161509d7ecad854a3285d88580f93b63b0b1cf0bac332bfcc0"}, + "opentelemetry_api": {:hex, :opentelemetry_api, "1.2.1", "7b69ed4f40025c005de0b74fce8c0549625d59cb4df12d15c32fe6dc5076ff42", [:mix, :rebar3], [{:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "6d7a27b7cad2ad69a09cabf6670514cafcec717c8441beb5c96322bac3d05350"}, "opentelemetry_ecto": {:git, "https://github.com/bryannaegele/opentelemetry-erlang-contrib.git", "9730da9300cdd08138d3455deb270b06f3a440fa", [sparse: "propagators/opentelemetry_process_propagator", branch: "otel-process-walker"]}, - "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.2.2", "3966c56656627ef7db6c34c4ce28d44ac8629dcd065a310d7c33712fc2a1cfe3", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.1", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.1", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.11", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "5c11adeda19e0d203a04efe92cdd7a183da4b09ae8acaba7608e9303fa258e74"}, + "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.6.0", "f4fbf69aa9f1541b253813221b82b48a9863bc1570d8ecc517bc510c0d1d3d8c", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.3", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.2", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.18", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "1802d1dca297e46f21e5832ecf843c451121e875f73f04db87355a6cb2ba1710"}, "opentelemetry_process_propagator": {:hex, :opentelemetry_process_propagator, "0.2.0", "d549f257fc7e20f0ff8674efb46f0dba1b3c5fe4ee6e4bd38d9873c7e18c6be1", [:mix, :rebar3], [{:opentelemetry_api, "~> 1.0", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}], "hexpm", "4062d3e982c5c7cd01b8b7189fc5c53dfacd666e47797483bc2310e5f0fa7f9c"}, - "postgrex": {:hex, :postgrex, "0.16.5", "fcc4035cc90e23933c5d69a9cd686e329469446ef7abba2cf70f08e2c4b69810", [:mix], [{:connection, "~> 1.1", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "edead639dc6e882618c01d8fc891214c481ab9a3788dfe38dd5e37fd1d5fb2e8"}, - "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, - "telemetry": {:hex, :telemetry, "1.1.0", "a589817034a27eab11144ad24d5c0f9fab1f58173274b1e9bae7074af9cbee51", [:rebar3], [], "hexpm", "b727b2a1f75614774cff2d7565b64d0dfa5bd52ba517f16543e6fc7efcc0df48"}, - "tls_certificate_check": {:hex, :tls_certificate_check, "1.16.0", "45b05e3b993dbace2e4ebccb666eadbd038f1da8f4db9691f4f34a274dfb0bd7", [:rebar3], [{:ssl_verify_fun, "1.1.6", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "3dc0508c749619b8d6a5e21aca4d719c184f065541795b0556398c8e574a3064"}, + "opentelemetry_semantic_conventions": {:hex, :opentelemetry_semantic_conventions, "0.2.0", "b67fe459c2938fcab341cb0951c44860c62347c005ace1b50f8402576f241435", [:mix, :rebar3], [], "hexpm", "d61fa1f5639ee8668d74b527e6806e0503efc55a42db7b5f39939d84c07d6895"}, + "postgrex": {:hex, :postgrex, "0.17.2", "a3ec9e3239d9b33f1e5841565c4eb200055c52cc0757a22b63ca2d529bbe764c", [:mix], [{:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "80a918a9e9531d39f7bd70621422f3ebc93c01618c645f2d91306f50041ed90c"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, + "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, + "tls_certificate_check": {:hex, :tls_certificate_check, "1.19.0", "c76c4c5d79ee79a2b11c84f910c825d6f024a78427c854f515748e9bd025e987", [:rebar3], [{:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "4083b4a298add534c96125337cb01161c358bb32dd870d5a893aae685fd91d70"}, } diff --git a/instrumentation/opentelemetry_finch/mix.lock b/instrumentation/opentelemetry_finch/mix.lock index dce43f12..89871711 100644 --- a/instrumentation/opentelemetry_finch/mix.lock +++ b/instrumentation/opentelemetry_finch/mix.lock @@ -24,15 +24,15 @@ "nimble_options": {:hex, :nimble_options, "0.4.0", "c89babbab52221a24b8d1ff9e7d838be70f0d871be823165c94dd3418eea728f", [:mix], [], "hexpm", "e6701c1af326a11eea9634a3b1c62b475339ace9456c1a23ec3bc9a847bca02d"}, "nimble_parsec": {:hex, :nimble_parsec, "1.2.3", "244836e6e3f1200c7f30cb56733fd808744eca61fd182f731eac4af635cc6d0b", [:mix], [], "hexpm", "c8d789e39b9131acf7b99291e93dae60ab48ef14a7ee9d58c6964f59efb570b0"}, "nimble_pool": {:hex, :nimble_pool, "0.2.6", "91f2f4c357da4c4a0a548286c84a3a28004f68f05609b4534526871a22053cde", [:mix], [], "hexpm", "1c715055095d3f2705c4e236c18b618420a35490da94149ff8b580a2144f653f"}, - "opentelemetry": {:hex, :opentelemetry, "1.1.2", "77ba2fd2fee67bebde590851a4afeda45b3f298310aa410a2a3804b364cb598a", [:rebar3], [{:opentelemetry_api, "~> 1.1", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}], "hexpm", "5c60be189d6aed64a9fd17055f72c93eab144be441e625276c3c95533e6bb4c7"}, - "opentelemetry_api": {:hex, :opentelemetry_api, "1.1.1", "3b43877c456c8a7f5448a95d9bf4fb4bb8cc2abbbea2c62d5f8e8c538b4af14f", [:mix, :rebar3], [], "hexpm", "a9554b3208b60a70043318d051ea78fbbc7a1b8f4c418ebc16ccb40015995675"}, - "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.2.2", "3966c56656627ef7db6c34c4ce28d44ac8629dcd065a310d7c33712fc2a1cfe3", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.1", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.1", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.11", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "5c11adeda19e0d203a04efe92cdd7a183da4b09ae8acaba7608e9303fa258e74"}, + "opentelemetry": {:hex, :opentelemetry, "1.3.0", "988ac3c26acac9720a1d4fb8d9dc52e95b45ecfec2d5b5583276a09e8936bc5e", [:rebar3], [{:opentelemetry_api, "~> 1.2.0", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "8e09edc26aad11161509d7ecad854a3285d88580f93b63b0b1cf0bac332bfcc0"}, + "opentelemetry_api": {:hex, :opentelemetry_api, "1.2.1", "7b69ed4f40025c005de0b74fce8c0549625d59cb4df12d15c32fe6dc5076ff42", [:mix, :rebar3], [{:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "6d7a27b7cad2ad69a09cabf6670514cafcec717c8441beb5c96322bac3d05350"}, + "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.6.0", "f4fbf69aa9f1541b253813221b82b48a9863bc1570d8ecc517bc510c0d1d3d8c", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.3", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.2", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.18", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "1802d1dca297e46f21e5832ecf843c451121e875f73f04db87355a6cb2ba1710"}, "opentelemetry_semantic_conventions": {:hex, :opentelemetry_semantic_conventions, "0.2.0", "b67fe459c2938fcab341cb0951c44860c62347c005ace1b50f8402576f241435", [:mix, :rebar3], [], "hexpm", "d61fa1f5639ee8668d74b527e6806e0503efc55a42db7b5f39939d84c07d6895"}, "plug": {:hex, :plug, "1.14.0", "ba4f558468f69cbd9f6b356d25443d0b796fbdc887e03fa89001384a9cac638f", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "bf020432c7d4feb7b3af16a0c2701455cbbbb95e5b6866132cb09eb0c29adc14"}, "plug_cowboy": {:hex, :plug_cowboy, "2.6.0", "d1cf12ff96a1ca4f52207c5271a6c351a4733f413803488d75b70ccf44aebec2", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "073cf20b753ce6682ed72905cd62a2d4bd9bad1bf9f7feb02a1b8e525bd94fa6"}, "plug_crypto": {:hex, :plug_crypto, "1.2.3", "8f77d13aeb32bfd9e654cb68f0af517b371fb34c56c9f2b58fe3df1235c1251a", [:mix], [], "hexpm", "b5672099c6ad5c202c45f5a403f21a3411247f164e4a8fab056e5cd8a290f4a2"}, "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, - "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, "telemetry": {:hex, :telemetry, "1.1.0", "a589817034a27eab11144ad24d5c0f9fab1f58173274b1e9bae7074af9cbee51", [:rebar3], [], "hexpm", "b727b2a1f75614774cff2d7565b64d0dfa5bd52ba517f16543e6fc7efcc0df48"}, - "tls_certificate_check": {:hex, :tls_certificate_check, "1.16.0", "45b05e3b993dbace2e4ebccb666eadbd038f1da8f4db9691f4f34a274dfb0bd7", [:rebar3], [{:ssl_verify_fun, "1.1.6", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "3dc0508c749619b8d6a5e21aca4d719c184f065541795b0556398c8e574a3064"}, + "tls_certificate_check": {:hex, :tls_certificate_check, "1.19.0", "c76c4c5d79ee79a2b11c84f910c825d6f024a78427c854f515748e9bd025e987", [:rebar3], [{:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "4083b4a298add534c96125337cb01161c358bb32dd870d5a893aae685fd91d70"}, } diff --git a/instrumentation/opentelemetry_httpoison/mix.lock b/instrumentation/opentelemetry_httpoison/mix.lock index 1607969a..ff7544f9 100644 --- a/instrumentation/opentelemetry_httpoison/mix.lock +++ b/instrumentation/opentelemetry_httpoison/mix.lock @@ -29,15 +29,15 @@ "nimble_parsec": {:hex, :nimble_parsec, "1.3.0", "9e18a119d9efc3370a3ef2a937bf0b24c088d9c4bf0ba9d7c3751d49d347d035", [:mix], [], "hexpm", "7977f183127a7cbe9346981e2f480dc04c55ffddaef746bd58debd566070eef8"}, "opentelemetry": {:hex, :opentelemetry, "1.3.0", "988ac3c26acac9720a1d4fb8d9dc52e95b45ecfec2d5b5583276a09e8936bc5e", [:rebar3], [{:opentelemetry_api, "~> 1.2.0", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "8e09edc26aad11161509d7ecad854a3285d88580f93b63b0b1cf0bac332bfcc0"}, "opentelemetry_api": {:hex, :opentelemetry_api, "1.2.1", "7b69ed4f40025c005de0b74fce8c0549625d59cb4df12d15c32fe6dc5076ff42", [:mix, :rebar3], [{:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "6d7a27b7cad2ad69a09cabf6670514cafcec717c8441beb5c96322bac3d05350"}, - "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.4.1", "5c80c3a22ec084b4e0a9ac7d39a435b332949b2dceec9fb19f5c5d2ca8ae1d56", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.3", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.2", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.18", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "5a0ff6618b0f7370bd10b50e64099a4c2aa52145ae6567cccf7d76ba2d32e079"}, + "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.6.0", "f4fbf69aa9f1541b253813221b82b48a9863bc1570d8ecc517bc510c0d1d3d8c", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.3", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.2", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.18", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "1802d1dca297e46f21e5832ecf843c451121e875f73f04db87355a6cb2ba1710"}, "opentelemetry_semantic_conventions": {:hex, :opentelemetry_semantic_conventions, "0.2.0", "b67fe459c2938fcab341cb0951c44860c62347c005ace1b50f8402576f241435", [:mix, :rebar3], [], "hexpm", "d61fa1f5639ee8668d74b527e6806e0503efc55a42db7b5f39939d84c07d6895"}, "parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"}, "plug": {:hex, :plug, "1.14.2", "cff7d4ec45b4ae176a227acd94a7ab536d9b37b942c8e8fa6dfc0fff98ff4d80", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "842fc50187e13cf4ac3b253d47d9474ed6c296a8732752835ce4a86acdf68d13"}, "plug_cowboy": {:hex, :plug_cowboy, "2.6.1", "9a3bbfceeb65eff5f39dab529e5cd79137ac36e913c02067dba3963a26efe9b2", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "de36e1a21f451a18b790f37765db198075c25875c64834bcc82d90b309eb6613"}, "plug_crypto": {:hex, :plug_crypto, "1.2.5", "918772575e48e81e455818229bf719d4ab4181fcbf7f85b68a35620f78d89ced", [:mix], [], "hexpm", "26549a1d6345e2172eb1c233866756ae44a9609bd33ee6f99147ab3fd87fd842"}, "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, - "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, - "tls_certificate_check": {:hex, :tls_certificate_check, "1.18.0", "75699bc855ea18de358e3024abd73384691320bb7a0c98ac90a74475311c1ae3", [:rebar3], [{:ssl_verify_fun, "1.1.6", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "8de62ff34e59317211567e3b1ae70866df195895b051193c21abc381276d395b"}, + "tls_certificate_check": {:hex, :tls_certificate_check, "1.19.0", "c76c4c5d79ee79a2b11c84f910c825d6f024a78427c854f515748e9bd025e987", [:rebar3], [{:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "4083b4a298add534c96125337cb01161c358bb32dd870d5a893aae685fd91d70"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.7.0", "bc84380c9ab48177092f43ac89e4dfa2c6d62b40b8bd132b1059ecc7232f9a78", [:rebar3], [], "hexpm", "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"}, } diff --git a/instrumentation/opentelemetry_httpoison/test/opentelemetry_httpoison_test.exs b/instrumentation/opentelemetry_httpoison/test/opentelemetry_httpoison_test.exs index 27c435f9..6f3403c8 100644 --- a/instrumentation/opentelemetry_httpoison/test/opentelemetry_httpoison_test.exs +++ b/instrumentation/opentelemetry_httpoison/test/opentelemetry_httpoison_test.exs @@ -70,18 +70,14 @@ defmodule OpentelemetryHTTPoisonTest do describe "OpentelemetryHTTPoison calls with additional options" do test "additional span attributes can be passed to OpentelemetryHTTPoison invocation" do - OpentelemetryHTTPoison.get!("http://localhost:8000", [], - ot_attributes: [{"app.callname", "mariorossi"}] - ) + OpentelemetryHTTPoison.get!("http://localhost:8000", [], ot_attributes: [{"app.callname", "mariorossi"}]) assert_receive {:span, span(attributes: attributes)}, 1000 assert confirm_attributes(attributes, {"app.callname", "mariorossi"}) end test "resource route can be explicitly passed to OpentelemetryHTTPoison invocation as a string" do - OpentelemetryHTTPoison.get!("http://localhost:8000/user/edit/24", [], - ot_resource_route: "/user/edit" - ) + OpentelemetryHTTPoison.get!("http://localhost:8000/user/edit/24", [], ot_resource_route: "/user/edit") assert_receive {:span, span(attributes: attributes)}, 1000 assert confirm_attributes(attributes, {"http.route", "/user/edit"}) @@ -90,18 +86,14 @@ defmodule OpentelemetryHTTPoisonTest do test "resource route can be explicitly passed to OpentelemetryHTTPoison invocation as a function" do infer_fn = fn request -> URI.parse(request.url).path end - OpentelemetryHTTPoison.get!("http://localhost:8000/user/edit/24", [], - ot_resource_route: infer_fn - ) + OpentelemetryHTTPoison.get!("http://localhost:8000/user/edit/24", [], ot_resource_route: infer_fn) assert_receive {:span, span(attributes: attributes)}, 1000 assert confirm_attributes(attributes, {"http.route", "/user/edit/24"}) end test "resource route inference can be explicitly ignored" do - OpentelemetryHTTPoison.get!("http://localhost:8000/user/edit/24", [], - ot_resource_route: :ignore - ) + OpentelemetryHTTPoison.get!("http://localhost:8000/user/edit/24", [], ot_resource_route: :ignore) assert_receive {:span, span(attributes: attributes)}, 1000 refute confirm_http_route_attribute(attributes) @@ -116,9 +108,7 @@ defmodule OpentelemetryHTTPoisonTest do test "resource route inference fails if an incorrect value is passed to the OpentelemetryHTTPoison invocation" do assert_raise(ArgumentError, fn -> - OpentelemetryHTTPoison.get!("http://localhost:8000/user/edit/24", [], - ot_resource_route: nil - ) + OpentelemetryHTTPoison.get!("http://localhost:8000/user/edit/24", [], ot_resource_route: nil) end) assert_raise(ArgumentError, fn -> @@ -244,9 +234,7 @@ defmodule OpentelemetryHTTPoisonTest do end test "resource route can be implicitly inferred by OpentelemetryHTTPoison invocation using a default function" do - OpentelemetryHTTPoison.get!("http://localhost:8000/user/edit/24", [], - ot_resource_route: :infer - ) + OpentelemetryHTTPoison.get!("http://localhost:8000/user/edit/24", [], ot_resource_route: :infer) assert_receive {:span, span(attributes: attributes)}, 1000 assert confirm_http_route_attribute(attributes, "/user/:subpath") @@ -259,9 +247,7 @@ defmodule OpentelemetryHTTPoisonTest do set_env(:infer_route, infer_fn) - OpentelemetryHTTPoison.get!("http://localhost:8000/user/edit/24", [], - ot_resource_route: :infer - ) + OpentelemetryHTTPoison.get!("http://localhost:8000/user/edit/24", [], ot_resource_route: :infer) assert_receive {:span, span(attributes: attributes)}, 1000 assert confirm_http_route_attribute(attributes, "/user/edit/24") @@ -276,9 +262,7 @@ defmodule OpentelemetryHTTPoisonTest do set_env(:infer_route, infer_fn) - OpentelemetryHTTPoison.get!("http://localhost:8000/user/edit/24", [], - ot_resource_route: invocation_infer_fn - ) + OpentelemetryHTTPoison.get!("http://localhost:8000/user/edit/24", [], ot_resource_route: invocation_infer_fn) assert_receive {:span, span(attributes: attributes)}, 1000 assert confirm_http_route_attribute(attributes, "test") @@ -291,9 +275,7 @@ defmodule OpentelemetryHTTPoisonTest do set_env(:infer_route, infer_fn) - OpentelemetryHTTPoison.get!("http://localhost:8000/user/edit/24", [], - ot_resource_route: "test" - ) + OpentelemetryHTTPoison.get!("http://localhost:8000/user/edit/24", [], ot_resource_route: "test") assert_receive {:span, span(attributes: attributes)}, 1000 assert confirm_http_route_attribute(attributes, "test") diff --git a/instrumentation/opentelemetry_nebulex/mix.lock b/instrumentation/opentelemetry_nebulex/mix.lock index 8894efa4..2888b0c9 100644 --- a/instrumentation/opentelemetry_nebulex/mix.lock +++ b/instrumentation/opentelemetry_nebulex/mix.lock @@ -1,25 +1,26 @@ %{ "acceptor_pool": {:hex, :acceptor_pool, "1.0.0", "43c20d2acae35f0c2bcd64f9d2bde267e459f0f3fd23dab26485bf518c281b21", [:rebar3], [], "hexpm", "0cbcd83fdc8b9ad2eee2067ef8b91a14858a5883cb7cd800e6fcd5803e158788"}, - "chatterbox": {:hex, :ts_chatterbox, "0.11.0", "b8f372c706023eb0de5bf2976764edb27c70fe67052c88c1f6a66b3a5626847f", [:rebar3], [{:hpack, "~>0.2.3", [hex: :hpack_erl, repo: "hexpm", optional: false]}], "hexpm", "722fe2bad52913ab7e87d849fc6370375f0c961ffb2f0b5e6d647c9170c382a6"}, + "chatterbox": {:hex, :ts_chatterbox, "0.13.0", "6f059d97bcaa758b8ea6fffe2b3b81362bd06b639d3ea2bb088335511d691ebf", [:rebar3], [{:hpack, "~> 0.2.3", [hex: :hpack_erl, repo: "hexpm", optional: false]}], "hexpm", "b93d19104d86af0b3f2566c4cba2a57d2e06d103728246ba1ac6c3c0ff010aa7"}, "ctx": {:hex, :ctx, "0.6.0", "8ff88b70e6400c4df90142e7f130625b82086077a45364a78d208ed3ed53c7fe", [:rebar3], [], "hexpm", "a14ed2d1b67723dbebbe423b28d7615eb0bdcba6ff28f2d1f1b0a7e1d4aa5fc2"}, "dialyxir": {:hex, :dialyxir, "1.1.0", "c5aab0d6e71e5522e77beff7ba9e08f8e02bad90dfbeffae60eaf0cb47e29488", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "07ea8e49c45f15264ebe6d5b93799d4dd56a44036cf42d0ad9c960bc266c0b9a"}, "earmark_parser": {:hex, :earmark_parser, "1.4.25", "2024618731c55ebfcc5439d756852ec4e85978a39d0d58593763924d9a15916f", [:mix], [], "hexpm", "56749c5e1c59447f7b7a23ddb235e4b3defe276afc220a6227237f3efe83f51e"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex_doc": {:hex, :ex_doc, "0.28.4", "001a0ea6beac2f810f1abc3dbf4b123e9593eaa5f00dd13ded024eae7c523298", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "bf85d003dd34911d89c8ddb8bda1a958af3471a274a4c2150a9c01c78ac3f8ed"}, "gproc": {:hex, :gproc, "0.8.0", "cea02c578589c61e5341fce149ea36ccef236cc2ecac8691fba408e7ea77ec2f", [:rebar3], [], "hexpm", "580adafa56463b75263ef5a5df4c86af321f68694e7786cb057fd805d1e2a7de"}, - "grpcbox": {:hex, :grpcbox, "0.14.0", "3eb321bcd2275baf8b54cf381feb7b0559a50c02544de28fda039c7f2f9d1a7a", [:rebar3], [{:acceptor_pool, "~>1.0.0", [hex: :acceptor_pool, repo: "hexpm", optional: false]}, {:chatterbox, "~>0.11.0", [hex: :ts_chatterbox, repo: "hexpm", optional: false]}, {:ctx, "~>0.6.0", [hex: :ctx, repo: "hexpm", optional: false]}, {:gproc, "~>0.8.0", [hex: :gproc, repo: "hexpm", optional: false]}], "hexpm", "e24159b7b6d3f9869bbe528845c0125fed2259366ba908fd04a1f45fe81d0660"}, + "grpcbox": {:hex, :grpcbox, "0.16.0", "b83f37c62d6eeca347b77f9b1ec7e9f62231690cdfeb3a31be07cd4002ba9c82", [:rebar3], [{:acceptor_pool, "~> 1.0.0", [hex: :acceptor_pool, repo: "hexpm", optional: false]}, {:chatterbox, "~> 0.13.0", [hex: :ts_chatterbox, repo: "hexpm", optional: false]}, {:ctx, "~> 0.6.0", [hex: :ctx, repo: "hexpm", optional: false]}, {:gproc, "~> 0.8.0", [hex: :gproc, repo: "hexpm", optional: false]}], "hexpm", "294df743ae20a7e030889f00644001370a4f7ce0121f3bbdaf13cf3169c62913"}, "hpack": {:hex, :hpack_erl, "0.2.3", "17670f83ff984ae6cd74b1c456edde906d27ff013740ee4d9efaa4f1bf999633", [:rebar3], [], "hexpm", "06f580167c4b8b8a6429040df36cc93bba6d571faeaec1b28816523379cbb23a"}, "makeup": {:hex, :makeup, "1.1.0", "6b67c8bc2882a6b6a445859952a602afc1a41c2e08379ca057c0f525366fc3ca", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "0a45ed501f4a8897f580eabf99a2e5234ea3e75a4373c8a52824f6e873be57a6"}, "makeup_elixir": {:hex, :makeup_elixir, "0.16.0", "f8c570a0d33f8039513fbccaf7108c5d750f47d8defd44088371191b76492b0b", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "28b2cbdc13960a46ae9a8858c4bebdec3c9a6d7b4b9e7f4ed1502f8159f338e7"}, "makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"}, "nebulex": {:hex, :nebulex, "2.3.2", "74d8b54e867ca58930edf14de7cc35056cf1ae802bdbc64b3c8c5336234cb1ca", [:mix], [{:decorator, "~> 1.4", [hex: :decorator, repo: "hexpm", optional: true]}, {:shards, "~> 1.0", [hex: :shards, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "09e7c2e687a9d4da2cb6bdde90de74170450f17684f7cc5691faa213c5aa5b13"}, "nimble_parsec": {:hex, :nimble_parsec, "1.2.3", "244836e6e3f1200c7f30cb56733fd808744eca61fd182f731eac4af635cc6d0b", [:mix], [], "hexpm", "c8d789e39b9131acf7b99291e93dae60ab48ef14a7ee9d58c6964f59efb570b0"}, - "opentelemetry": {:hex, :opentelemetry, "1.0.3", "0d04f8f2c8b45c75cd7a6b31c0e3699f00bf82feee610f97f10971ddbcbb2010", [:rebar3], [{:opentelemetry_api, "~> 1.0", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}], "hexpm", "1e94db9989276f24c3ce9f0df2f46074a42f3f6c19057a2c1a6f863b6a1f1463"}, - "opentelemetry_api": {:hex, :opentelemetry_api, "1.0.3", "77f9644c42340cd8b18c728cde4822ed55ae136f0d07761b78e8c54da46af93a", [:mix, :rebar3], [], "hexpm", "4293e06bd369bc004e6fad5edbb56456d891f14bd3f9f1772b18f1923e0678ea"}, - "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.0.4", "60a64c75633a82b6c36a20043be355ac72a7b9b21633edd47407924c5596dde0", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.0", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.0", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.11", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "61da65290fbb6cac3459b84b8cd630795bf608df93a2b2cc49251cae78200e5e"}, + "opentelemetry": {:hex, :opentelemetry, "1.3.0", "988ac3c26acac9720a1d4fb8d9dc52e95b45ecfec2d5b5583276a09e8936bc5e", [:rebar3], [{:opentelemetry_api, "~> 1.2.0", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "8e09edc26aad11161509d7ecad854a3285d88580f93b63b0b1cf0bac332bfcc0"}, + "opentelemetry_api": {:hex, :opentelemetry_api, "1.2.1", "7b69ed4f40025c005de0b74fce8c0549625d59cb4df12d15c32fe6dc5076ff42", [:mix, :rebar3], [{:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "6d7a27b7cad2ad69a09cabf6670514cafcec717c8441beb5c96322bac3d05350"}, + "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.6.0", "f4fbf69aa9f1541b253813221b82b48a9863bc1570d8ecc517bc510c0d1d3d8c", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.3", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.2", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.18", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "1802d1dca297e46f21e5832ecf843c451121e875f73f04db87355a6cb2ba1710"}, + "opentelemetry_semantic_conventions": {:hex, :opentelemetry_semantic_conventions, "0.2.0", "b67fe459c2938fcab341cb0951c44860c62347c005ace1b50f8402576f241435", [:mix, :rebar3], [], "hexpm", "d61fa1f5639ee8668d74b527e6806e0503efc55a42db7b5f39939d84c07d6895"}, "opentelemetry_telemetry": {:hex, :opentelemetry_telemetry, "1.0.0", "d5982a319e725fcd2305b306b65c18a86afdcf7d96821473cf0649ff88877615", [:mix, :rebar3], [{:opentelemetry_api, "~> 1.0", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:telemetry_registry, "~> 0.3.0", [hex: :telemetry_registry, repo: "hexpm", optional: false]}], "hexpm", "3401d13a1d4b7aa941a77e6b3ec074f0ae77f83b5b2206766ce630123a9291a9"}, - "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, "telemetry": {:hex, :telemetry, "1.1.0", "a589817034a27eab11144ad24d5c0f9fab1f58173274b1e9bae7074af9cbee51", [:rebar3], [], "hexpm", "b727b2a1f75614774cff2d7565b64d0dfa5bd52ba517f16543e6fc7efcc0df48"}, "telemetry_registry": {:hex, :telemetry_registry, "0.3.0", "6768f151ea53fc0fbca70dbff5b20a8d663ee4e0c0b2ae589590e08658e76f1e", [:mix, :rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "492e2adbc609f3e79ece7f29fec363a97a2c484ac78a83098535d6564781e917"}, - "tls_certificate_check": {:hex, :tls_certificate_check, "1.14.0", "6d1638d56ac68b25c987d401dffb7cd059281339aadc3f8bf27ab33ee19ddbfe", [:rebar3], [{:ssl_verify_fun, "1.1.6", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "b4452ddd3ae89cd84451afa0e218cb3ccd5178fe3c1de7fabcbddb12a137bcf4"}, + "tls_certificate_check": {:hex, :tls_certificate_check, "1.19.0", "c76c4c5d79ee79a2b11c84f910c825d6f024a78427c854f515748e9bd025e987", [:rebar3], [{:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "4083b4a298add534c96125337cb01161c358bb32dd870d5a893aae685fd91d70"}, } diff --git a/instrumentation/opentelemetry_oban/mix.lock b/instrumentation/opentelemetry_oban/mix.lock index 583dba08..709878f3 100644 --- a/instrumentation/opentelemetry_oban/mix.lock +++ b/instrumentation/opentelemetry_oban/mix.lock @@ -4,28 +4,28 @@ "connection": {:hex, :connection, "1.1.0", "ff2a49c4b75b6fb3e674bfc5536451607270aac754ffd1bdfe175abe4a6d7a68", [:mix], [], "hexpm", "722c1eb0a418fbe91ba7bd59a47e28008a189d47e37e0e7bb85585a016b2869c"}, "ctx": {:hex, :ctx, "0.6.0", "8ff88b70e6400c4df90142e7f130625b82086077a45364a78d208ed3ed53c7fe", [:rebar3], [], "hexpm", "a14ed2d1b67723dbebbe423b28d7615eb0bdcba6ff28f2d1f1b0a7e1d4aa5fc2"}, "db_connection": {:hex, :db_connection, "2.4.2", "f92e79aff2375299a16bcb069a14ee8615c3414863a6fef93156aee8e86c2ff3", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "4fe53ca91b99f55ea249693a0229356a08f4d1a7931d8ffa79289b145fe83668"}, - "decimal": {:hex, :decimal, "2.0.0", "a78296e617b0f5dd4c6caf57c714431347912ffb1d0842e998e9792b5642d697", [:mix], [], "hexpm", "34666e9c55dea81013e77d9d87370fe6cb6291d1ef32f46a1600230b1d44f577"}, + "decimal": {:hex, :decimal, "2.1.1", "5611dca5d4b2c3dd497dec8f68751f1f1a54755e8ed2a966c2633cf885973ad6", [:mix], [], "hexpm", "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc"}, "earmark_parser": {:hex, :earmark_parser, "1.4.29", "149d50dcb3a93d9f3d6f3ecf18c918fb5a2d3c001b5d3305c926cddfbd33355b", [:mix], [], "hexpm", "4902af1b3eb139016aed210888748db8070b8125c2342ce3dcae4f38dcc63503"}, - "ecto": {:hex, :ecto, "3.9.1", "67173b1687afeb68ce805ee7420b4261649d5e2deed8fe5550df23bab0bc4396", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c80bb3d736648df790f7f92f81b36c922d9dd3203ca65be4ff01d067f54eb304"}, + "ecto": {:hex, :ecto, "3.9.6", "2f420c173efcb2e22fa4f8fc41e75e02b3c5bd4cffef12085cae5418c12e530d", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "df17bc06ba6f78a7b764e4a14ef877fe5f4499332c5a105ace11fe7013b72c84"}, "ecto_sql": {:hex, :ecto_sql, "3.9.0", "2bb21210a2a13317e098a420a8c1cc58b0c3421ab8e3acfa96417dab7817918c", [:mix], [{:db_connection, "~> 2.5 or ~> 2.4.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.9.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.6.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.16.0 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1 or ~> 2.2", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "a8f3f720073b8b1ac4c978be25fa7960ed7fd44997420c304a4a2e200b596453"}, "ex_doc": {:hex, :ex_doc, "0.29.0", "4a1cb903ce746aceef9c1f9ae8a6c12b742a5461e6959b9d3b24d813ffbea146", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "f096adb8bbca677d35d278223361c7792d496b3fc0d0224c9d4bc2f651af5db1"}, "gproc": {:hex, :gproc, "0.8.0", "cea02c578589c61e5341fce149ea36ccef236cc2ecac8691fba408e7ea77ec2f", [:rebar3], [], "hexpm", "580adafa56463b75263ef5a5df4c86af321f68694e7786cb057fd805d1e2a7de"}, "grpcbox": {:hex, :grpcbox, "0.16.0", "b83f37c62d6eeca347b77f9b1ec7e9f62231690cdfeb3a31be07cd4002ba9c82", [:rebar3], [{:acceptor_pool, "~>1.0.0", [hex: :acceptor_pool, repo: "hexpm", optional: false]}, {:chatterbox, "~>0.13.0", [hex: :ts_chatterbox, repo: "hexpm", optional: false]}, {:ctx, "~>0.6.0", [hex: :ctx, repo: "hexpm", optional: false]}, {:gproc, "~>0.8.0", [hex: :gproc, repo: "hexpm", optional: false]}], "hexpm", "294df743ae20a7e030889f00644001370a4f7ce0121f3bbdaf13cf3169c62913"}, "hpack": {:hex, :hpack_erl, "0.2.3", "17670f83ff984ae6cd74b1c456edde906d27ff013740ee4d9efaa4f1bf999633", [:rebar3], [], "hexpm", "06f580167c4b8b8a6429040df36cc93bba6d571faeaec1b28816523379cbb23a"}, - "jason": {:hex, :jason, "1.4.0", "e855647bc964a44e2f67df589ccf49105ae039d4179db7f6271dfd3843dc27e6", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "79a3791085b2a0f743ca04cec0f7be26443738779d09302e01318f97bdb82121"}, + "jason": {:hex, :jason, "1.4.1", "af1504e35f629ddcdd6addb3513c3853991f694921b1b9368b0bd32beb9f1b63", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"}, "makeup": {:hex, :makeup, "1.1.0", "6b67c8bc2882a6b6a445859952a602afc1a41c2e08379ca057c0f525366fc3ca", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "0a45ed501f4a8897f580eabf99a2e5234ea3e75a4373c8a52824f6e873be57a6"}, "makeup_elixir": {:hex, :makeup_elixir, "0.16.0", "f8c570a0d33f8039513fbccaf7108c5d750f47d8defd44088371191b76492b0b", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "28b2cbdc13960a46ae9a8858c4bebdec3c9a6d7b4b9e7f4ed1502f8159f338e7"}, "makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"}, "nimble_parsec": {:hex, :nimble_parsec, "1.2.3", "244836e6e3f1200c7f30cb56733fd808744eca61fd182f731eac4af635cc6d0b", [:mix], [], "hexpm", "c8d789e39b9131acf7b99291e93dae60ab48ef14a7ee9d58c6964f59efb570b0"}, "oban": {:hex, :oban, "2.13.5", "6ba77f96bf8d8c57dd95c31292c76dd50104ac110c0bee8345cdf5e42f8afe89", [:mix], [{:ecto_sql, "~> 3.6", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16", [hex: :postgrex, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "e5d93843377c7aa6417a6e89dfa63cb3043a4d959b9e946cb1d0018cafc0219b"}, - "opentelemetry": {:hex, :opentelemetry, "1.1.2", "77ba2fd2fee67bebde590851a4afeda45b3f298310aa410a2a3804b364cb598a", [:rebar3], [{:opentelemetry_api, "~> 1.1", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}], "hexpm", "5c60be189d6aed64a9fd17055f72c93eab144be441e625276c3c95533e6bb4c7"}, - "opentelemetry_api": {:hex, :opentelemetry_api, "1.1.1", "3b43877c456c8a7f5448a95d9bf4fb4bb8cc2abbbea2c62d5f8e8c538b4af14f", [:mix, :rebar3], [], "hexpm", "a9554b3208b60a70043318d051ea78fbbc7a1b8f4c418ebc16ccb40015995675"}, - "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.2.2", "3966c56656627ef7db6c34c4ce28d44ac8629dcd065a310d7c33712fc2a1cfe3", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.1", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.1", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.11", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "5c11adeda19e0d203a04efe92cdd7a183da4b09ae8acaba7608e9303fa258e74"}, + "opentelemetry": {:hex, :opentelemetry, "1.3.0", "988ac3c26acac9720a1d4fb8d9dc52e95b45ecfec2d5b5583276a09e8936bc5e", [:rebar3], [{:opentelemetry_api, "~> 1.2.0", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "8e09edc26aad11161509d7ecad854a3285d88580f93b63b0b1cf0bac332bfcc0"}, + "opentelemetry_api": {:hex, :opentelemetry_api, "1.2.1", "7b69ed4f40025c005de0b74fce8c0549625d59cb4df12d15c32fe6dc5076ff42", [:mix, :rebar3], [{:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "6d7a27b7cad2ad69a09cabf6670514cafcec717c8441beb5c96322bac3d05350"}, + "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.6.0", "f4fbf69aa9f1541b253813221b82b48a9863bc1570d8ecc517bc510c0d1d3d8c", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.3", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.2", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.18", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "1802d1dca297e46f21e5832ecf843c451121e875f73f04db87355a6cb2ba1710"}, "opentelemetry_semantic_conventions": {:hex, :opentelemetry_semantic_conventions, "0.2.0", "b67fe459c2938fcab341cb0951c44860c62347c005ace1b50f8402576f241435", [:mix, :rebar3], [], "hexpm", "d61fa1f5639ee8668d74b527e6806e0503efc55a42db7b5f39939d84c07d6895"}, "opentelemetry_telemetry": {:hex, :opentelemetry_telemetry, "1.0.0", "d5982a319e725fcd2305b306b65c18a86afdcf7d96821473cf0649ff88877615", [:mix, :rebar3], [{:opentelemetry_api, "~> 1.0", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:telemetry_registry, "~> 0.3.0", [hex: :telemetry_registry, repo: "hexpm", optional: false]}], "hexpm", "3401d13a1d4b7aa941a77e6b3ec074f0ae77f83b5b2206766ce630123a9291a9"}, "postgrex": {:hex, :postgrex, "0.16.5", "fcc4035cc90e23933c5d69a9cd686e329469446ef7abba2cf70f08e2c4b69810", [:mix], [{:connection, "~> 1.1", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "edead639dc6e882618c01d8fc891214c481ab9a3788dfe38dd5e37fd1d5fb2e8"}, - "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, - "telemetry": {:hex, :telemetry, "1.1.0", "a589817034a27eab11144ad24d5c0f9fab1f58173274b1e9bae7074af9cbee51", [:rebar3], [], "hexpm", "b727b2a1f75614774cff2d7565b64d0dfa5bd52ba517f16543e6fc7efcc0df48"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, + "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, "telemetry_registry": {:hex, :telemetry_registry, "0.3.0", "6768f151ea53fc0fbca70dbff5b20a8d663ee4e0c0b2ae589590e08658e76f1e", [:mix, :rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "492e2adbc609f3e79ece7f29fec363a97a2c484ac78a83098535d6564781e917"}, - "tls_certificate_check": {:hex, :tls_certificate_check, "1.16.0", "45b05e3b993dbace2e4ebccb666eadbd038f1da8f4db9691f4f34a274dfb0bd7", [:rebar3], [{:ssl_verify_fun, "1.1.6", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "3dc0508c749619b8d6a5e21aca4d719c184f065541795b0556398c8e574a3064"}, + "tls_certificate_check": {:hex, :tls_certificate_check, "1.19.0", "c76c4c5d79ee79a2b11c84f910c825d6f024a78427c854f515748e9bd025e987", [:rebar3], [{:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "4083b4a298add534c96125337cb01161c358bb32dd870d5a893aae685fd91d70"}, } diff --git a/instrumentation/opentelemetry_oban/test/opentelemetry_oban/plugin_handler_test.exs b/instrumentation/opentelemetry_oban/test/opentelemetry_oban/plugin_handler_test.exs index 0704c83c..81d596ff 100644 --- a/instrumentation/opentelemetry_oban/test/opentelemetry_oban/plugin_handler_test.exs +++ b/instrumentation/opentelemetry_oban/test/opentelemetry_oban/plugin_handler_test.exs @@ -106,7 +106,7 @@ defmodule OpentelemetryOban.PluginHandlerTest do ) ] = :otel_events.list(events) - assert ["exception.message", "exception.stacktrace", "exception.type"] == - Map.keys(:otel_attributes.map(event_attributes)) + assert [:"exception.message", :"exception.stacktrace", :"exception.type"] == + Enum.sort(Map.keys(:otel_attributes.map(event_attributes))) end end diff --git a/instrumentation/opentelemetry_oban/test/opentelemetry_oban_test.exs b/instrumentation/opentelemetry_oban/test/opentelemetry_oban_test.exs index 4a64f61a..c75b3bb3 100644 --- a/instrumentation/opentelemetry_oban/test/opentelemetry_oban_test.exs +++ b/instrumentation/opentelemetry_oban/test/opentelemetry_oban_test.exs @@ -195,8 +195,8 @@ defmodule OpentelemetryObanTest do ) ] = :otel_events.list(events) - assert ["exception.message", "exception.stacktrace", "exception.type"] == - Map.keys(:otel_attributes.map(event_attributes)) + assert [:"exception.message", :"exception.stacktrace", :"exception.type"] == + Enum.sort(Map.keys(:otel_attributes.map(event_attributes))) end test "records spans for each retry" do @@ -273,8 +273,8 @@ defmodule OpentelemetryObanTest do ) ] = :otel_events.list(events) - assert ["exception.message", "exception.stacktrace", "exception.type"] == - Map.keys(:otel_attributes.map(event_attributes)) + assert [:"exception.message", :"exception.stacktrace", :"exception.type"] == + Enum.sort(Map.keys(:otel_attributes.map(event_attributes))) end test "spans inside the job are associated with the job trace" do @@ -329,8 +329,8 @@ defmodule OpentelemetryObanTest do ) ] = :otel_events.list(events) - assert ["exception.message", "exception.stacktrace", "exception.type"] == - Map.keys(:otel_attributes.map(event_attributes)) + assert [:"exception.message", :"exception.stacktrace", :"exception.type"] == + Enum.sort(Map.keys(:otel_attributes.map(event_attributes))) refute_received {:span, span(name: "TestJob process")} end diff --git a/instrumentation/opentelemetry_phoenix/lib/opentelemetry_phoenix.ex b/instrumentation/opentelemetry_phoenix/lib/opentelemetry_phoenix.ex index 23867d64..c633a37a 100644 --- a/instrumentation/opentelemetry_phoenix/lib/opentelemetry_phoenix.ex +++ b/instrumentation/opentelemetry_phoenix/lib/opentelemetry_phoenix.ex @@ -189,8 +189,7 @@ defmodule OpentelemetryPhoenix do SemanticConventions.Trace.http_target() => conn.request_path, SemanticConventions.Trace.http_user_agent() => user_agent, SemanticConventions.Trace.net_host_name() => conn.host, - SemanticConventions.Trace.net_sock_host_addr() => - to_string(:inet_parse.ntoa(conn.remote_ip)), + SemanticConventions.Trace.net_sock_host_addr() => to_string(:inet_parse.ntoa(conn.remote_ip)), SemanticConventions.Trace.net_host_port() => conn.port, SemanticConventions.Trace.net_sock_peer_addr() => to_string(:inet_parse.ntoa(peer_ip)), SemanticConventions.Trace.net_peer_port() => peer_data.port, diff --git a/instrumentation/opentelemetry_phoenix/mix.lock b/instrumentation/opentelemetry_phoenix/mix.lock index 439fb1f2..7b4e3be0 100644 --- a/instrumentation/opentelemetry_phoenix/mix.lock +++ b/instrumentation/opentelemetry_phoenix/mix.lock @@ -6,7 +6,6 @@ "cowlib": {:hex, :cowlib, "2.11.0", "0b9ff9c346629256c42ebe1eeb769a83c6cb771a6ee5960bd110ab0b9b872063", [:make, :rebar3], [], "hexpm", "2b3e9da0b21c4565751a6d4901c20d1b4cc25cbb7fd50d91d2ab6dd287bc86a9"}, "ctx": {:hex, :ctx, "0.6.0", "8ff88b70e6400c4df90142e7f130625b82086077a45364a78d208ed3ed53c7fe", [:rebar3], [], "hexpm", "a14ed2d1b67723dbebbe423b28d7615eb0bdcba6ff28f2d1f1b0a7e1d4aa5fc2"}, "dialyxir": {:hex, :dialyxir, "1.2.0", "58344b3e87c2e7095304c81a9ae65cb68b613e28340690dfe1a5597fd08dec37", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "61072136427a851674cab81762be4dbeae7679f85b1272b6d25c3a839aff8463"}, - "earmark": {:hex, :earmark, "1.4.10", "bddce5e8ea37712a5bfb01541be8ba57d3b171d3fa4f80a0be9bcf1db417bcaf", [:mix], [{:earmark_parser, ">= 1.4.10", [hex: :earmark_parser, repo: "hexpm", optional: false]}], "hexpm", "12dbfa80810478e521d3ffb941ad9fbfcbbd7debe94e1341b4c4a1b2411c1c27"}, "earmark_parser": {:hex, :earmark_parser, "1.4.29", "149d50dcb3a93d9f3d6f3ecf18c918fb5a2d3c001b5d3305c926cddfbd33355b", [:mix], [], "hexpm", "4902af1b3eb139016aed210888748db8070b8125c2342ce3dcae4f38dcc63503"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex_doc": {:hex, :ex_doc, "0.29.0", "4a1cb903ce746aceef9c1f9ae8a6c12b742a5461e6959b9d3b24d813ffbea146", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "f096adb8bbca677d35d278223361c7792d496b3fc0d0224c9d4bc2f651af5db1"}, @@ -19,9 +18,9 @@ "mime": {:hex, :mime, "2.0.3", "3676436d3d1f7b81b5a2d2bd8405f412c677558c81b1c92be58c00562bb59095", [:mix], [], "hexpm", "27a30bf0db44d25eecba73755acf4068cbfe26a4372f9eb3e4ea3a45956bff6b"}, "nimble_options": {:hex, :nimble_options, "0.5.1", "5c166f7669e40333191bea38e3bd3811cc13f459f1e4be49e89128a21b5d8c4d", [:mix], [], "hexpm", "d176cf7baa4fef0ceb301ca3eb8b55bd7de3e45f489c4f8b4f2849f1f114ef3e"}, "nimble_parsec": {:hex, :nimble_parsec, "1.2.3", "244836e6e3f1200c7f30cb56733fd808744eca61fd182f731eac4af635cc6d0b", [:mix], [], "hexpm", "c8d789e39b9131acf7b99291e93dae60ab48ef14a7ee9d58c6964f59efb570b0"}, - "opentelemetry": {:hex, :opentelemetry, "1.1.2", "77ba2fd2fee67bebde590851a4afeda45b3f298310aa410a2a3804b364cb598a", [:rebar3], [{:opentelemetry_api, "~> 1.1", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}], "hexpm", "5c60be189d6aed64a9fd17055f72c93eab144be441e625276c3c95533e6bb4c7"}, - "opentelemetry_api": {:hex, :opentelemetry_api, "1.1.1", "3b43877c456c8a7f5448a95d9bf4fb4bb8cc2abbbea2c62d5f8e8c538b4af14f", [:mix, :rebar3], [], "hexpm", "a9554b3208b60a70043318d051ea78fbbc7a1b8f4c418ebc16ccb40015995675"}, - "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.2.2", "3966c56656627ef7db6c34c4ce28d44ac8629dcd065a310d7c33712fc2a1cfe3", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.1", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.1", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.11", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "5c11adeda19e0d203a04efe92cdd7a183da4b09ae8acaba7608e9303fa258e74"}, + "opentelemetry": {:hex, :opentelemetry, "1.3.0", "988ac3c26acac9720a1d4fb8d9dc52e95b45ecfec2d5b5583276a09e8936bc5e", [:rebar3], [{:opentelemetry_api, "~> 1.2.0", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "8e09edc26aad11161509d7ecad854a3285d88580f93b63b0b1cf0bac332bfcc0"}, + "opentelemetry_api": {:hex, :opentelemetry_api, "1.2.1", "7b69ed4f40025c005de0b74fce8c0549625d59cb4df12d15c32fe6dc5076ff42", [:mix, :rebar3], [{:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "6d7a27b7cad2ad69a09cabf6670514cafcec717c8441beb5c96322bac3d05350"}, + "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.6.0", "f4fbf69aa9f1541b253813221b82b48a9863bc1570d8ecc517bc510c0d1d3d8c", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.3", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.2", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.18", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "1802d1dca297e46f21e5832ecf843c451121e875f73f04db87355a6cb2ba1710"}, "opentelemetry_process_propagator": {:hex, :opentelemetry_process_propagator, "0.2.1", "20ac37648faf7175cade16fda8d58e6f1ff1b7f2a50a8ef9d70a032c41aba315", [:mix, :rebar3], [{:opentelemetry_api, "~> 1.0", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}], "hexpm", "f317237e39636d4f6140afa5d419e85ed3dc9e9a57072e7cd442df42af7b8aac"}, "opentelemetry_semantic_conventions": {:hex, :opentelemetry_semantic_conventions, "0.2.0", "b67fe459c2938fcab341cb0951c44860c62347c005ace1b50f8402576f241435", [:mix, :rebar3], [], "hexpm", "d61fa1f5639ee8668d74b527e6806e0503efc55a42db7b5f39939d84c07d6895"}, "opentelemetry_telemetry": {:hex, :opentelemetry_telemetry, "1.0.0", "d5982a319e725fcd2305b306b65c18a86afdcf7d96821473cf0649ff88877615", [:mix, :rebar3], [{:opentelemetry_api, "~> 1.0", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:telemetry_registry, "~> 0.3.0", [hex: :telemetry_registry, repo: "hexpm", optional: false]}], "hexpm", "3401d13a1d4b7aa941a77e6b3ec074f0ae77f83b5b2206766ce630123a9291a9"}, @@ -29,8 +28,8 @@ "plug_cowboy": {:hex, :plug_cowboy, "2.6.0", "d1cf12ff96a1ca4f52207c5271a6c351a4733f413803488d75b70ccf44aebec2", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "073cf20b753ce6682ed72905cd62a2d4bd9bad1bf9f7feb02a1b8e525bd94fa6"}, "plug_crypto": {:hex, :plug_crypto, "1.2.3", "8f77d13aeb32bfd9e654cb68f0af517b371fb34c56c9f2b58fe3df1235c1251a", [:mix], [], "hexpm", "b5672099c6ad5c202c45f5a403f21a3411247f164e4a8fab056e5cd8a290f4a2"}, "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, - "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, "telemetry": {:hex, :telemetry, "1.1.0", "a589817034a27eab11144ad24d5c0f9fab1f58173274b1e9bae7074af9cbee51", [:rebar3], [], "hexpm", "b727b2a1f75614774cff2d7565b64d0dfa5bd52ba517f16543e6fc7efcc0df48"}, "telemetry_registry": {:hex, :telemetry_registry, "0.3.0", "6768f151ea53fc0fbca70dbff5b20a8d663ee4e0c0b2ae589590e08658e76f1e", [:mix, :rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "492e2adbc609f3e79ece7f29fec363a97a2c484ac78a83098535d6564781e917"}, - "tls_certificate_check": {:hex, :tls_certificate_check, "1.16.0", "45b05e3b993dbace2e4ebccb666eadbd038f1da8f4db9691f4f34a274dfb0bd7", [:rebar3], [{:ssl_verify_fun, "1.1.6", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "3dc0508c749619b8d6a5e21aca4d719c184f065541795b0556398c8e574a3064"}, + "tls_certificate_check": {:hex, :tls_certificate_check, "1.19.0", "c76c4c5d79ee79a2b11c84f910c825d6f024a78427c854f515748e9bd025e987", [:rebar3], [{:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "4083b4a298add534c96125337cb01161c358bb32dd870d5a893aae685fd91d70"}, } diff --git a/instrumentation/opentelemetry_phoenix/test/opentelemetry_phoenix_test.exs b/instrumentation/opentelemetry_phoenix/test/opentelemetry_phoenix_test.exs index cdf7ded0..757c42ac 100644 --- a/instrumentation/opentelemetry_phoenix/test/opentelemetry_phoenix_test.exs +++ b/instrumentation/opentelemetry_phoenix/test/opentelemetry_phoenix_test.exs @@ -155,8 +155,8 @@ defmodule OpentelemetryPhoenixTest do ) ] = :otel_events.list(events) - assert [:key, :map, "exception.message", "exception.stacktrace", "exception.type"] == - Map.keys(:otel_attributes.map(event_attributes)) + assert [:"exception.message", :"exception.stacktrace", :"exception.type", :key, :map] == + Enum.sort(Map.keys(:otel_attributes.map(event_attributes))) end test "records exceptions for nested Phoenix routers" do @@ -262,8 +262,8 @@ defmodule OpentelemetryPhoenixTest do ) ] = :otel_events.list(events) - assert ["exception.message", "exception.stacktrace", "exception.type"] == - Map.keys(:otel_attributes.map(event_attributes)) + assert [:"exception.message", :"exception.stacktrace", :"exception.type"] == + Enum.sort(Map.keys(:otel_attributes.map(event_attributes))) end defp x_forwarded_for_request(x_forwarded_for) do diff --git a/instrumentation/opentelemetry_phoenix/test/support/phoenix_meta.ex b/instrumentation/opentelemetry_phoenix/test/support/phoenix_meta.ex index 91044dc0..3d1316d5 100644 --- a/instrumentation/opentelemetry_phoenix/test/support/phoenix_meta.ex +++ b/instrumentation/opentelemetry_phoenix/test/support/phoenix_meta.ex @@ -179,31 +179,31 @@ defmodule PhoenixMeta do reason: :badarith, stack: [ {MyStoreWeb.PageController, :code_exception, 2, - [file: 'lib/my_store_web/controllers/page_controller.ex', line: 9]}, - {MyStoreWeb.PageController, :action, 2, [file: 'lib/my_store_web/controllers/page_controller.ex', line: 1]}, + [file: ~c"lib/my_store_web/controllers/page_controller.ex", line: 9]}, + {MyStoreWeb.PageController, :action, 2, [file: ~c"lib/my_store_web/controllers/page_controller.ex", line: 1]}, {MyStoreWeb.PageController, :phoenix_controller_pipeline, 2, - [file: 'lib/my_store_web/controllers/page_controller.ex', line: 1]}, - {Phoenix.Router, :__call__, 2, [file: 'lib/phoenix/router.ex', line: 352]}, - {MyStoreWeb.Endpoint, :plug_builder_call, 2, [file: 'lib/my_store_web/endpoint.ex', line: 1]}, - {MyStoreWeb.Endpoint, :"call (overridable 3)", 2, [file: 'lib/plug/debugger.ex', line: 132]}, - {MyStoreWeb.Endpoint, :call, 2, [file: 'lib/my_store_web/endpoint.ex', line: 1]}, - {Phoenix.Endpoint.Cowboy2Handler, :init, 4, [file: 'lib/phoenix/endpoint/cowboy2_handler.ex', line: 65]}, + [file: ~c"lib/my_store_web/controllers/page_controller.ex", line: 1]}, + {Phoenix.Router, :__call__, 2, [file: ~c"lib/phoenix/router.ex", line: 352]}, + {MyStoreWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/my_store_web/endpoint.ex", line: 1]}, + {MyStoreWeb.Endpoint, :"call (overridable 3)", 2, [file: ~c"lib/plug/debugger.ex", line: 132]}, + {MyStoreWeb.Endpoint, :call, 2, [file: ~c"lib/my_store_web/endpoint.ex", line: 1]}, + {Phoenix.Endpoint.Cowboy2Handler, :init, 4, [file: ~c"lib/phoenix/endpoint/cowboy2_handler.ex", line: 65]}, {:cowboy_handler, :execute, 2, [ - file: '/Users/bryan/dev/opentelemetry_phoenix/test/support/my_store/deps/cowboy/src/cowboy_handler.erl', + file: ~c"/Users/bryan/dev/opentelemetry_phoenix/test/support/my_store/deps/cowboy/src/cowboy_handler.erl", line: 37 ]}, {:cowboy_stream_h, :execute, 3, [ - file: '/Users/bryan/dev/opentelemetry_phoenix/test/support/my_store/deps/cowboy/src/cowboy_stream_h.erl', + file: ~c"/Users/bryan/dev/opentelemetry_phoenix/test/support/my_store/deps/cowboy/src/cowboy_stream_h.erl", line: 300 ]}, {:cowboy_stream_h, :request_process, 3, [ - file: '/Users/bryan/dev/opentelemetry_phoenix/test/support/my_store/deps/cowboy/src/cowboy_stream_h.erl', + file: ~c"/Users/bryan/dev/opentelemetry_phoenix/test/support/my_store/deps/cowboy/src/cowboy_stream_h.erl", line: 291 ]}, - {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 226]} + {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 226]} ] }, kind: :error, @@ -305,60 +305,60 @@ defmodule PhoenixMeta do reason: :badarith, stack: [ {MyStoreWeb.PageController, :code_exception, 2, - [file: 'lib/my_store_web/controllers/page_controller.ex', line: 9]}, - {MyStoreWeb.PageController, :action, 2, [file: 'lib/my_store_web/controllers/page_controller.ex', line: 1]}, + [file: ~c"lib/my_store_web/controllers/page_controller.ex", line: 9]}, + {MyStoreWeb.PageController, :action, 2, [file: ~c"lib/my_store_web/controllers/page_controller.ex", line: 1]}, {MyStoreWeb.PageController, :phoenix_controller_pipeline, 2, - [file: 'lib/my_store_web/controllers/page_controller.ex', line: 1]}, - {Phoenix.Router, :__call__, 2, [file: 'lib/phoenix/router.ex', line: 352]}, - {MyStoreWeb.Endpoint, :plug_builder_call, 2, [file: 'lib/my_store_web/endpoint.ex', line: 1]}, - {MyStoreWeb.Endpoint, :"call (overridable 3)", 2, [file: 'lib/plug/debugger.ex', line: 132]}, - {MyStoreWeb.Endpoint, :call, 2, [file: 'lib/my_store_web/endpoint.ex', line: 1]}, - {Phoenix.Endpoint.Cowboy2Handler, :init, 4, [file: 'lib/phoenix/endpoint/cowboy2_handler.ex', line: 65]}, + [file: ~c"lib/my_store_web/controllers/page_controller.ex", line: 1]}, + {Phoenix.Router, :__call__, 2, [file: ~c"lib/phoenix/router.ex", line: 352]}, + {MyStoreWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/my_store_web/endpoint.ex", line: 1]}, + {MyStoreWeb.Endpoint, :"call (overridable 3)", 2, [file: ~c"lib/plug/debugger.ex", line: 132]}, + {MyStoreWeb.Endpoint, :call, 2, [file: ~c"lib/my_store_web/endpoint.ex", line: 1]}, + {Phoenix.Endpoint.Cowboy2Handler, :init, 4, [file: ~c"lib/phoenix/endpoint/cowboy2_handler.ex", line: 65]}, {:cowboy_handler, :execute, 2, [ - file: '/Users/bryan/dev/opentelemetry_phoenix/test/support/my_store/deps/cowboy/src/cowboy_handler.erl', + file: ~c"/Users/bryan/dev/opentelemetry_phoenix/test/support/my_store/deps/cowboy/src/cowboy_handler.erl", line: 37 ]}, {:cowboy_stream_h, :execute, 3, [ - file: '/Users/bryan/dev/opentelemetry_phoenix/test/support/my_store/deps/cowboy/src/cowboy_stream_h.erl', + file: ~c"/Users/bryan/dev/opentelemetry_phoenix/test/support/my_store/deps/cowboy/src/cowboy_stream_h.erl", line: 300 ]}, {:cowboy_stream_h, :request_process, 3, [ - file: '/Users/bryan/dev/opentelemetry_phoenix/test/support/my_store/deps/cowboy/src/cowboy_stream_h.erl', + file: ~c"/Users/bryan/dev/opentelemetry_phoenix/test/support/my_store/deps/cowboy/src/cowboy_stream_h.erl", line: 291 ]}, - {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 226]} + {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 226]} ] }, stacktrace: [ {MyStoreWeb.PageController, :code_exception, 2, - [file: 'lib/my_store_web/controllers/page_controller.ex', line: 9]}, - {MyStoreWeb.PageController, :action, 2, [file: 'lib/my_store_web/controllers/page_controller.ex', line: 1]}, + [file: ~c"lib/my_store_web/controllers/page_controller.ex", line: 9]}, + {MyStoreWeb.PageController, :action, 2, [file: ~c"lib/my_store_web/controllers/page_controller.ex", line: 1]}, {MyStoreWeb.PageController, :phoenix_controller_pipeline, 2, - [file: 'lib/my_store_web/controllers/page_controller.ex', line: 1]}, - {Phoenix.Router, :__call__, 2, [file: 'lib/phoenix/router.ex', line: 352]}, - {MyStoreWeb.Endpoint, :plug_builder_call, 2, [file: 'lib/my_store_web/endpoint.ex', line: 1]}, - {MyStoreWeb.Endpoint, :"call (overridable 3)", 2, [file: 'lib/plug/debugger.ex', line: 132]}, - {MyStoreWeb.Endpoint, :call, 2, [file: 'lib/my_store_web/endpoint.ex', line: 1]}, - {Phoenix.Endpoint.Cowboy2Handler, :init, 4, [file: 'lib/phoenix/endpoint/cowboy2_handler.ex', line: 65]}, + [file: ~c"lib/my_store_web/controllers/page_controller.ex", line: 1]}, + {Phoenix.Router, :__call__, 2, [file: ~c"lib/phoenix/router.ex", line: 352]}, + {MyStoreWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/my_store_web/endpoint.ex", line: 1]}, + {MyStoreWeb.Endpoint, :"call (overridable 3)", 2, [file: ~c"lib/plug/debugger.ex", line: 132]}, + {MyStoreWeb.Endpoint, :call, 2, [file: ~c"lib/my_store_web/endpoint.ex", line: 1]}, + {Phoenix.Endpoint.Cowboy2Handler, :init, 4, [file: ~c"lib/phoenix/endpoint/cowboy2_handler.ex", line: 65]}, {:cowboy_handler, :execute, 2, [ - file: '/Users/bryan/dev/opentelemetry_phoenix/test/support/my_store/deps/cowboy/src/cowboy_handler.erl', + file: ~c"/Users/bryan/dev/opentelemetry_phoenix/test/support/my_store/deps/cowboy/src/cowboy_handler.erl", line: 37 ]}, {:cowboy_stream_h, :execute, 3, [ - file: '/Users/bryan/dev/opentelemetry_phoenix/test/support/my_store/deps/cowboy/src/cowboy_stream_h.erl', + file: ~c"/Users/bryan/dev/opentelemetry_phoenix/test/support/my_store/deps/cowboy/src/cowboy_stream_h.erl", line: 300 ]}, {:cowboy_stream_h, :request_process, 3, [ - file: '/Users/bryan/dev/opentelemetry_phoenix/test/support/my_store/deps/cowboy/src/cowboy_stream_h.erl', + file: ~c"/Users/bryan/dev/opentelemetry_phoenix/test/support/my_store/deps/cowboy/src/cowboy_stream_h.erl", line: 291 ]}, - {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 226]} + {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 226]} ] } end @@ -454,9 +454,9 @@ defmodule PhoenixMeta do } }, stacktrace: [ - {MyStore.Users, :sort_by_name, 2, [file: 'lib/my_store/users.ex', line: 159]}, - {Enum, :"-to_sort_fun/1-fun-0-", 3, [file: 'lib/enum.ex', line: 2542]}, - {:lists, :sort, 2, [file: 'lists.erl', line: 969]} + {MyStore.Users, :sort_by_name, 2, [file: ~c"lib/my_store/users.ex", line: 159]}, + {Enum, :"-to_sort_fun/1-fun-0-", 3, [file: ~c"lib/enum.ex", line: 2542]}, + {:lists, :sort, 2, [file: ~c"lists.erl", line: 969]} ] } end diff --git a/instrumentation/opentelemetry_redix/mix.lock b/instrumentation/opentelemetry_redix/mix.lock index 6845ad80..526fa03a 100644 --- a/instrumentation/opentelemetry_redix/mix.lock +++ b/instrumentation/opentelemetry_redix/mix.lock @@ -13,13 +13,13 @@ "makeup_elixir": {:hex, :makeup_elixir, "0.16.0", "f8c570a0d33f8039513fbccaf7108c5d750f47d8defd44088371191b76492b0b", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "28b2cbdc13960a46ae9a8858c4bebdec3c9a6d7b4b9e7f4ed1502f8159f338e7"}, "makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"}, "nimble_parsec": {:hex, :nimble_parsec, "1.2.3", "244836e6e3f1200c7f30cb56733fd808744eca61fd182f731eac4af635cc6d0b", [:mix], [], "hexpm", "c8d789e39b9131acf7b99291e93dae60ab48ef14a7ee9d58c6964f59efb570b0"}, - "opentelemetry": {:hex, :opentelemetry, "1.1.2", "77ba2fd2fee67bebde590851a4afeda45b3f298310aa410a2a3804b364cb598a", [:rebar3], [{:opentelemetry_api, "~> 1.1", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}], "hexpm", "5c60be189d6aed64a9fd17055f72c93eab144be441e625276c3c95533e6bb4c7"}, - "opentelemetry_api": {:hex, :opentelemetry_api, "1.1.1", "3b43877c456c8a7f5448a95d9bf4fb4bb8cc2abbbea2c62d5f8e8c538b4af14f", [:mix, :rebar3], [], "hexpm", "a9554b3208b60a70043318d051ea78fbbc7a1b8f4c418ebc16ccb40015995675"}, - "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.2.2", "3966c56656627ef7db6c34c4ce28d44ac8629dcd065a310d7c33712fc2a1cfe3", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.1", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.1", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.11", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "5c11adeda19e0d203a04efe92cdd7a183da4b09ae8acaba7608e9303fa258e74"}, + "opentelemetry": {:hex, :opentelemetry, "1.3.0", "988ac3c26acac9720a1d4fb8d9dc52e95b45ecfec2d5b5583276a09e8936bc5e", [:rebar3], [{:opentelemetry_api, "~> 1.2.0", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "8e09edc26aad11161509d7ecad854a3285d88580f93b63b0b1cf0bac332bfcc0"}, + "opentelemetry_api": {:hex, :opentelemetry_api, "1.2.1", "7b69ed4f40025c005de0b74fce8c0549625d59cb4df12d15c32fe6dc5076ff42", [:mix, :rebar3], [{:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "6d7a27b7cad2ad69a09cabf6670514cafcec717c8441beb5c96322bac3d05350"}, + "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.6.0", "f4fbf69aa9f1541b253813221b82b48a9863bc1570d8ecc517bc510c0d1d3d8c", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.3", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.2", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.18", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "1802d1dca297e46f21e5832ecf843c451121e875f73f04db87355a6cb2ba1710"}, "opentelemetry_process_propagator": {:hex, :opentelemetry_process_propagator, "0.2.2", "85244a49f0c32ae1e2f3d58c477c265bd6125ee3480ade82b0fa9324b85ed3f0", [:mix, :rebar3], [{:opentelemetry_api, "~> 1.0", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}], "hexpm", "04db13302a34bea8350a13ed9d49c22dfd32c4bc590d8aa88b6b4b7e4f346c61"}, "opentelemetry_semantic_conventions": {:hex, :opentelemetry_semantic_conventions, "0.2.0", "b67fe459c2938fcab341cb0951c44860c62347c005ace1b50f8402576f241435", [:mix, :rebar3], [], "hexpm", "d61fa1f5639ee8668d74b527e6806e0503efc55a42db7b5f39939d84c07d6895"}, "redix": {:hex, :redix, "1.2.0", "0d7eb3ccb7b82c461a6ea28b65c2c04486093d816dd6d901a09164800e004df1", [:mix], [{:castore, "~> 0.1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "e1e0deb14599da07c77e66956a12863e85ee270ada826804a0ba8e61657e22a3"}, - "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, "telemetry": {:hex, :telemetry, "1.1.0", "a589817034a27eab11144ad24d5c0f9fab1f58173274b1e9bae7074af9cbee51", [:rebar3], [], "hexpm", "b727b2a1f75614774cff2d7565b64d0dfa5bd52ba517f16543e6fc7efcc0df48"}, - "tls_certificate_check": {:hex, :tls_certificate_check, "1.16.0", "45b05e3b993dbace2e4ebccb666eadbd038f1da8f4db9691f4f34a274dfb0bd7", [:rebar3], [{:ssl_verify_fun, "1.1.6", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "3dc0508c749619b8d6a5e21aca4d719c184f065541795b0556398c8e574a3064"}, + "tls_certificate_check": {:hex, :tls_certificate_check, "1.19.0", "c76c4c5d79ee79a2b11c84f910c825d6f024a78427c854f515748e9bd025e987", [:rebar3], [{:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "4083b4a298add534c96125337cb01161c358bb32dd870d5a893aae685fd91d70"}, } diff --git a/instrumentation/opentelemetry_tesla/test/middleware/opentelemetry_tesla_middleware_test.exs b/instrumentation/opentelemetry_tesla/test/middleware/opentelemetry_tesla_middleware_test.exs index 5363043b..9fbee706 100644 --- a/instrumentation/opentelemetry_tesla/test/middleware/opentelemetry_tesla_middleware_test.exs +++ b/instrumentation/opentelemetry_tesla/test/middleware/opentelemetry_tesla_middleware_test.exs @@ -32,7 +32,7 @@ defmodule Tesla.Middleware.OpenTelemetryTest do } do defmodule TestClient do def get(client) do - params = [id: '3'] + params = [id: ~c"3"] Tesla.get(client, "/users/:id", opts: [path_params: params]) end @@ -97,7 +97,7 @@ defmodule Tesla.Middleware.OpenTelemetryTest do } do defmodule TestClient do def get(client) do - params = [id: '3'] + params = [id: ~c"3"] Tesla.get(client, "/users/:id", opts: [path_params: params]) end @@ -131,7 +131,7 @@ defmodule Tesla.Middleware.OpenTelemetryTest do } do defmodule TestClient do def get(client) do - params = [id: '3'] + params = [id: ~c"3"] Tesla.get(client, "/users/:id", opts: [path_params: params]) end diff --git a/propagators/opentelemetry_process_propagator/lib/task.ex b/propagators/opentelemetry_process_propagator/lib/task.ex index 218fa2f5..15258b43 100644 --- a/propagators/opentelemetry_process_propagator/lib/task.ex +++ b/propagators/opentelemetry_process_propagator/lib/task.ex @@ -208,7 +208,7 @@ defmodule OpentelemetryProcessPropagator.Task do See `Task.async/1` for more information. """ - @spec async((() -> any())) :: Task.t() + @spec async((-> any())) :: Task.t() def async(fun) do ctx = OpenTelemetry.Ctx.get_current() @@ -239,7 +239,7 @@ defmodule OpentelemetryProcessPropagator.Task do @spec async_with_span( OpenTelemetry.span_name(), OpenTelemetry.Span.start_opts(), - (() -> any()) + (-> any()) ) :: Task.t() def async_with_span(name, start_opts, fun) do ctx = OpenTelemetry.Ctx.get_current() @@ -279,7 +279,7 @@ defmodule OpentelemetryProcessPropagator.Task do @spec async_with_linked_span( OpenTelemetry.span_name(), OpenTelemetry.Span.start_opts(), - (() -> any()) + (-> any()) ) :: Task.t() def async_with_linked_span(name, start_opts, fun) do parent = OpenTelemetry.Tracer.current_span_ctx() @@ -316,7 +316,7 @@ defmodule OpentelemetryProcessPropagator.Task do See `Task.start/1` for more information. """ - @spec start((() -> any())) :: {:ok, pid()} + @spec start((-> any())) :: {:ok, pid()} def start(fun) do ctx = OpenTelemetry.Ctx.get_current() @@ -347,7 +347,7 @@ defmodule OpentelemetryProcessPropagator.Task do @spec start_with_span( OpenTelemetry.span_name(), OpenTelemetry.Span.start_opts(), - (() -> any()) + (-> any()) ) :: {:ok, pid()} def start_with_span(name, start_opts, fun) do ctx = OpenTelemetry.Ctx.get_current() @@ -387,7 +387,7 @@ defmodule OpentelemetryProcessPropagator.Task do @spec start_with_linked_span( OpenTelemetry.span_name(), OpenTelemetry.Span.start_opts(), - (() -> any()) + (-> any()) ) :: {:ok, pid()} def start_with_linked_span(name, start_opts, fun) do parent = OpenTelemetry.Tracer.current_span_ctx() @@ -425,7 +425,7 @@ defmodule OpentelemetryProcessPropagator.Task do See `Task.start_link/1` for more information. """ - @spec start_link((() -> any())) :: {:ok, pid()} + @spec start_link((-> any())) :: {:ok, pid()} def start_link(fun) do ctx = OpenTelemetry.Ctx.get_current() @@ -459,7 +459,7 @@ defmodule OpentelemetryProcessPropagator.Task do @spec start_link_with_span( OpenTelemetry.span_name(), OpenTelemetry.Span.start_opts(), - (() -> any()) + (-> any()) ) :: {:ok, pid()} def start_link_with_span(name, start_opts, fun) do ctx = OpenTelemetry.Ctx.get_current() @@ -501,7 +501,7 @@ defmodule OpentelemetryProcessPropagator.Task do @spec start_link_with_linked_span( OpenTelemetry.span_name(), OpenTelemetry.Span.start_opts(), - (() -> any()) + (-> any()) ) :: {:ok, pid()} def start_link_with_linked_span(name, start_opts, fun) do parent = OpenTelemetry.Tracer.current_span_ctx() diff --git a/propagators/opentelemetry_process_propagator/lib/task/supervisor.ex b/propagators/opentelemetry_process_propagator/lib/task/supervisor.ex index b9a36f30..258a8b64 100644 --- a/propagators/opentelemetry_process_propagator/lib/task/supervisor.ex +++ b/propagators/opentelemetry_process_propagator/lib/task/supervisor.ex @@ -32,7 +32,7 @@ defmodule OpentelemetryProcessPropagator.Task.Supervisor do See `Task.Supervisor.async/3` for more information. """ - @spec async(Supervisor.supervisor(), (() -> any())) :: Task.t() + @spec async(Supervisor.supervisor(), (-> any())) :: Task.t() def async(supervisor, fun, options \\ []) do ctx = OpenTelemetry.Ctx.get_current() @@ -68,7 +68,7 @@ defmodule OpentelemetryProcessPropagator.Task.Supervisor do OpenTelemetry.span_name(), OpenTelemetry.Span.start_opts(), Supervisor.supervisor(), - (() -> any()) + (-> any()) ) :: Task.t() def async_with_span(name, start_opts, supervisor, fun, options \\ []) do ctx = OpenTelemetry.Ctx.get_current() @@ -120,7 +120,7 @@ defmodule OpentelemetryProcessPropagator.Task.Supervisor do OpenTelemetry.span_name(), OpenTelemetry.Span.start_opts(), Supervisor.supervisor(), - (() -> any()) + (-> any()) ) :: Task.t() def async_with_linked_span(name, start_opts, supervisor, fun, options \\ []) do parent = OpenTelemetry.Tracer.current_span_ctx() @@ -168,7 +168,7 @@ defmodule OpentelemetryProcessPropagator.Task.Supervisor do See `Task.Supervisor.async_nolink/3` for more information. """ - @spec async_nolink(Supervisor.supervisor(), (() -> any())) :: Task.t() + @spec async_nolink(Supervisor.supervisor(), (-> any())) :: Task.t() def async_nolink(supervisor, fun, options \\ []) do ctx = OpenTelemetry.Ctx.get_current() @@ -204,7 +204,7 @@ defmodule OpentelemetryProcessPropagator.Task.Supervisor do OpenTelemetry.span_name(), OpenTelemetry.Span.start_opts(), Supervisor.supervisor(), - (() -> any()) + (-> any()) ) :: Task.t() def async_nolink_with_span(name, start_opts, supervisor, fun, options \\ []) do ctx = OpenTelemetry.Ctx.get_current() @@ -256,7 +256,7 @@ defmodule OpentelemetryProcessPropagator.Task.Supervisor do OpenTelemetry.span_name(), OpenTelemetry.Span.start_opts(), Supervisor.supervisor(), - (() -> any()) + (-> any()) ) :: Task.t() def async_nolink_with_linked_span(name, start_opts, supervisor, fun, options \\ []) do parent = OpenTelemetry.Tracer.current_span_ctx() @@ -686,7 +686,7 @@ defmodule OpentelemetryProcessPropagator.Task.Supervisor do """ @spec start_child( Supervisor.supervisor(), - (() -> any()), + (-> any()), keyword() ) :: DynamicSupervisor.on_start_child() def start_child(supervisor, fun, options \\ []) do @@ -731,7 +731,7 @@ defmodule OpentelemetryProcessPropagator.Task.Supervisor do OpenTelemetry.span_name(), OpenTelemetry.Span.start_opts(), Supervisor.supervisor(), - (() -> any()), + (-> any()), keyword() ) :: DynamicSupervisor.on_start_child() def start_child_with_span(name, start_opts, supervisor, fun, options \\ []) do @@ -785,7 +785,7 @@ defmodule OpentelemetryProcessPropagator.Task.Supervisor do OpenTelemetry.span_name(), OpenTelemetry.Span.start_opts(), Supervisor.supervisor(), - (() -> any()), + (-> any()), keyword() ) :: DynamicSupervisor.on_start_child() def start_child_with_linked_span(name, start_opts, supervisor, fun, options \\ []) do diff --git a/propagators/opentelemetry_process_propagator/mix.exs b/propagators/opentelemetry_process_propagator/mix.exs index de2754b4..97ea0a1b 100644 --- a/propagators/opentelemetry_process_propagator/mix.exs +++ b/propagators/opentelemetry_process_propagator/mix.exs @@ -77,13 +77,13 @@ defmodule OpentelemetryProcessPropagator.MixProject do end defp load_config do - {:ok, config} = :file.consult('rebar.config') + {:ok, config} = :file.consult(~c"rebar.config") config end defp load_app do - {:ok, [{:application, name, desc}]} = :file.consult('src/opentelemetry_process_propagator.app.src') + {:ok, [{:application, name, desc}]} = :file.consult(~c"src/opentelemetry_process_propagator.app.src") {name, desc} end diff --git a/propagators/opentelemetry_process_propagator/mix.lock b/propagators/opentelemetry_process_propagator/mix.lock index 7421689e..cb433f3f 100644 --- a/propagators/opentelemetry_process_propagator/mix.lock +++ b/propagators/opentelemetry_process_propagator/mix.lock @@ -13,9 +13,10 @@ "makeup_elixir": {:hex, :makeup_elixir, "0.16.0", "f8c570a0d33f8039513fbccaf7108c5d750f47d8defd44088371191b76492b0b", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "28b2cbdc13960a46ae9a8858c4bebdec3c9a6d7b4b9e7f4ed1502f8159f338e7"}, "makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"}, "nimble_parsec": {:hex, :nimble_parsec, "1.2.3", "244836e6e3f1200c7f30cb56733fd808744eca61fd182f731eac4af635cc6d0b", [:mix], [], "hexpm", "c8d789e39b9131acf7b99291e93dae60ab48ef14a7ee9d58c6964f59efb570b0"}, - "opentelemetry": {:hex, :opentelemetry, "1.1.2", "77ba2fd2fee67bebde590851a4afeda45b3f298310aa410a2a3804b364cb598a", [:rebar3], [{:opentelemetry_api, "~> 1.1", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}], "hexpm", "5c60be189d6aed64a9fd17055f72c93eab144be441e625276c3c95533e6bb4c7"}, - "opentelemetry_api": {:hex, :opentelemetry_api, "1.1.1", "3b43877c456c8a7f5448a95d9bf4fb4bb8cc2abbbea2c62d5f8e8c538b4af14f", [:mix, :rebar3], [], "hexpm", "a9554b3208b60a70043318d051ea78fbbc7a1b8f4c418ebc16ccb40015995675"}, - "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.2.2", "3966c56656627ef7db6c34c4ce28d44ac8629dcd065a310d7c33712fc2a1cfe3", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.1", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.1", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.11", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "5c11adeda19e0d203a04efe92cdd7a183da4b09ae8acaba7608e9303fa258e74"}, - "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, - "tls_certificate_check": {:hex, :tls_certificate_check, "1.16.0", "45b05e3b993dbace2e4ebccb666eadbd038f1da8f4db9691f4f34a274dfb0bd7", [:rebar3], [{:ssl_verify_fun, "1.1.6", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "3dc0508c749619b8d6a5e21aca4d719c184f065541795b0556398c8e574a3064"}, + "opentelemetry": {:hex, :opentelemetry, "1.3.1", "f0a342a74379e3540a634e7047967733da4bc8b873ec9026e224b2bd7369b1fc", [:rebar3], [{:opentelemetry_api, "~> 1.2.2", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "de476b2ac4faad3e3fe3d6e18b35dec9cb338c3b9910c2ce9317836dacad3483"}, + "opentelemetry_api": {:hex, :opentelemetry_api, "1.2.2", "693f47b0d8c76da2095fe858204cfd6350c27fe85d00e4b763deecc9588cf27a", [:mix, :rebar3], [{:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "dc77b9a00f137a858e60a852f14007bb66eda1ffbeb6c05d5fe6c9e678b05e9d"}, + "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.6.0", "f4fbf69aa9f1541b253813221b82b48a9863bc1570d8ecc517bc510c0d1d3d8c", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.3", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.2", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.18", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "1802d1dca297e46f21e5832ecf843c451121e875f73f04db87355a6cb2ba1710"}, + "opentelemetry_semantic_conventions": {:hex, :opentelemetry_semantic_conventions, "0.2.0", "b67fe459c2938fcab341cb0951c44860c62347c005ace1b50f8402576f241435", [:mix, :rebar3], [], "hexpm", "d61fa1f5639ee8668d74b527e6806e0503efc55a42db7b5f39939d84c07d6895"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, + "tls_certificate_check": {:hex, :tls_certificate_check, "1.19.0", "c76c4c5d79ee79a2b11c84f910c825d6f024a78427c854f515748e9bd025e987", [:rebar3], [{:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "4083b4a298add534c96125337cb01161c358bb32dd870d5a893aae685fd91d70"}, } diff --git a/utilities/opentelemetry_telemetry/mix.exs b/utilities/opentelemetry_telemetry/mix.exs index 60b16a8a..8853edb1 100644 --- a/utilities/opentelemetry_telemetry/mix.exs +++ b/utilities/opentelemetry_telemetry/mix.exs @@ -78,13 +78,13 @@ defmodule OpentelemetryTelemetry.MixProject do end defp load_config do - {:ok, config} = :file.consult('rebar.config') + {:ok, config} = :file.consult(~c"rebar.config") config end defp load_app do - {:ok, [{:application, name, desc}]} = :file.consult('src/opentelemetry_telemetry.app.src') + {:ok, [{:application, name, desc}]} = :file.consult(~c"src/opentelemetry_telemetry.app.src") {name, desc} end diff --git a/utilities/opentelemetry_telemetry/mix.lock b/utilities/opentelemetry_telemetry/mix.lock index 0e5bc5f3..5df8a123 100644 --- a/utilities/opentelemetry_telemetry/mix.lock +++ b/utilities/opentelemetry_telemetry/mix.lock @@ -16,11 +16,12 @@ "makeup_elixir": {:hex, :makeup_elixir, "0.16.0", "f8c570a0d33f8039513fbccaf7108c5d750f47d8defd44088371191b76492b0b", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "28b2cbdc13960a46ae9a8858c4bebdec3c9a6d7b4b9e7f4ed1502f8159f338e7"}, "makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"}, "nimble_parsec": {:hex, :nimble_parsec, "1.2.3", "244836e6e3f1200c7f30cb56733fd808744eca61fd182f731eac4af635cc6d0b", [:mix], [], "hexpm", "c8d789e39b9131acf7b99291e93dae60ab48ef14a7ee9d58c6964f59efb570b0"}, - "opentelemetry": {:hex, :opentelemetry, "1.1.2", "77ba2fd2fee67bebde590851a4afeda45b3f298310aa410a2a3804b364cb598a", [:rebar3], [{:opentelemetry_api, "~> 1.1", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}], "hexpm", "5c60be189d6aed64a9fd17055f72c93eab144be441e625276c3c95533e6bb4c7"}, - "opentelemetry_api": {:hex, :opentelemetry_api, "1.1.1", "3b43877c456c8a7f5448a95d9bf4fb4bb8cc2abbbea2c62d5f8e8c538b4af14f", [:mix, :rebar3], [], "hexpm", "a9554b3208b60a70043318d051ea78fbbc7a1b8f4c418ebc16ccb40015995675"}, - "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.2.2", "3966c56656627ef7db6c34c4ce28d44ac8629dcd065a310d7c33712fc2a1cfe3", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.1", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.1", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.11", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "5c11adeda19e0d203a04efe92cdd7a183da4b09ae8acaba7608e9303fa258e74"}, - "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, + "opentelemetry": {:hex, :opentelemetry, "1.3.1", "f0a342a74379e3540a634e7047967733da4bc8b873ec9026e224b2bd7369b1fc", [:rebar3], [{:opentelemetry_api, "~> 1.2.2", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "de476b2ac4faad3e3fe3d6e18b35dec9cb338c3b9910c2ce9317836dacad3483"}, + "opentelemetry_api": {:hex, :opentelemetry_api, "1.2.2", "693f47b0d8c76da2095fe858204cfd6350c27fe85d00e4b763deecc9588cf27a", [:mix, :rebar3], [{:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "dc77b9a00f137a858e60a852f14007bb66eda1ffbeb6c05d5fe6c9e678b05e9d"}, + "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.6.0", "f4fbf69aa9f1541b253813221b82b48a9863bc1570d8ecc517bc510c0d1d3d8c", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.3", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.2", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.18", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "1802d1dca297e46f21e5832ecf843c451121e875f73f04db87355a6cb2ba1710"}, + "opentelemetry_semantic_conventions": {:hex, :opentelemetry_semantic_conventions, "0.2.0", "b67fe459c2938fcab341cb0951c44860c62347c005ace1b50f8402576f241435", [:mix, :rebar3], [], "hexpm", "d61fa1f5639ee8668d74b527e6806e0503efc55a42db7b5f39939d84c07d6895"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, "telemetry": {:hex, :telemetry, "1.1.0", "a589817034a27eab11144ad24d5c0f9fab1f58173274b1e9bae7074af9cbee51", [:rebar3], [], "hexpm", "b727b2a1f75614774cff2d7565b64d0dfa5bd52ba517f16543e6fc7efcc0df48"}, "telemetry_registry": {:hex, :telemetry_registry, "0.3.0", "6768f151ea53fc0fbca70dbff5b20a8d663ee4e0c0b2ae589590e08658e76f1e", [:mix, :rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "492e2adbc609f3e79ece7f29fec363a97a2c484ac78a83098535d6564781e917"}, - "tls_certificate_check": {:hex, :tls_certificate_check, "1.16.0", "45b05e3b993dbace2e4ebccb666eadbd038f1da8f4db9691f4f34a274dfb0bd7", [:rebar3], [{:ssl_verify_fun, "1.1.6", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "3dc0508c749619b8d6a5e21aca4d719c184f065541795b0556398c8e574a3064"}, + "tls_certificate_check": {:hex, :tls_certificate_check, "1.19.0", "c76c4c5d79ee79a2b11c84f910c825d6f024a78427c854f515748e9bd025e987", [:rebar3], [{:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "4083b4a298add534c96125337cb01161c358bb32dd870d5a893aae685fd91d70"}, } From 018efed93a654969acd591d79df526a5a591be34 Mon Sep 17 00:00:00 2001 From: Bryan Naegele Date: Tue, 5 Sep 2023 09:38:49 -0600 Subject: [PATCH 2/6] Release drafting (#200) --- .github/labeler.yml | 30 ++- .../opentelemetry-aws-xray.yml | 7 + .../opentelemetry-cowboy.yml | 7 + .../opentelemetry-dataloader.yml | 7 + .../opentelemetry-ecto.yml | 7 + .../opentelemetry-elli.yml | 7 + .../opentelemetry-finch.yml | 7 + .../opentelemetry-grpcbox.yml | 7 + .../opentelemetry-httpoison.yml | 7 + .../opentelemetry-instrumentation-http.yml | 7 + .../opentelemetry-nebulex.yml | 7 + .../opentelemetry-oban.yml | 7 + .../opentelemetry-phoenix.yml | 7 + .../opentelemetry-process-propagator.yml | 9 + .../opentelemetry-redix.yml | 7 + .../opentelemetry-req.yml | 7 + .../opentelemetry-telemetry.yml | 9 + .../opentelemetry-tesla.yml | 7 + .github/release-drafter.yml | 30 +++ .github/workflows/elixir.yml | 160 ++++++++-------- .github/workflows/erlang.yml | 82 +++++++- .github/workflows/release-drafter.yml | 177 ++++++++++++++++++ 22 files changed, 503 insertions(+), 99 deletions(-) create mode 100644 .github/release-drafter-templates/opentelemetry-aws-xray.yml create mode 100644 .github/release-drafter-templates/opentelemetry-cowboy.yml create mode 100644 .github/release-drafter-templates/opentelemetry-dataloader.yml create mode 100644 .github/release-drafter-templates/opentelemetry-ecto.yml create mode 100644 .github/release-drafter-templates/opentelemetry-elli.yml create mode 100644 .github/release-drafter-templates/opentelemetry-finch.yml create mode 100644 .github/release-drafter-templates/opentelemetry-grpcbox.yml create mode 100644 .github/release-drafter-templates/opentelemetry-httpoison.yml create mode 100644 .github/release-drafter-templates/opentelemetry-instrumentation-http.yml create mode 100644 .github/release-drafter-templates/opentelemetry-nebulex.yml create mode 100644 .github/release-drafter-templates/opentelemetry-oban.yml create mode 100644 .github/release-drafter-templates/opentelemetry-phoenix.yml create mode 100644 .github/release-drafter-templates/opentelemetry-process-propagator.yml create mode 100644 .github/release-drafter-templates/opentelemetry-redix.yml create mode 100644 .github/release-drafter-templates/opentelemetry-req.yml create mode 100644 .github/release-drafter-templates/opentelemetry-telemetry.yml create mode 100644 .github/release-drafter-templates/opentelemetry-tesla.yml create mode 100644 .github/release-drafter.yml create mode 100644 .github/workflows/release-drafter.yml diff --git a/.github/labeler.yml b/.github/labeler.yml index 60d360a4..8242f301 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -47,12 +47,33 @@ utilities: scope-ci: - .github/workflows/** +opentelemetry_aws_xray: + - utilities/opentelemetry_aws_xray/**/* + opentelemetry_cowboy: - instrumentation/opentelemetry_cowboy/**/* +opentelemetry_dataloader: + - instrumentation/opentelemetry_dataloader/**/* + opentelemetry_ecto: - instrumentation/opentelemetry_ecto/**/* +opentelemetry_elli: + - instrumentation/opentelemetry_elli/**/* + +opentelemetry_finch: + - instrumentation/opentelemetry_finch/**/* + +opentelemetry_grpcbox: + - instrumentation/opentelemetry_grpcbox/**/* + +opentelemetry_httpoison: + - instrumentation/opentelemetry_httpoison/**/* + +opentelemetry_instrumentation_http: + - utilities/opentelemetry_instrumentation_http/**/* + opentelemetry_nebulex: - instrumentation/opentelemetry_nebulex/**/* @@ -71,17 +92,8 @@ opentelemetry_redix: opentelemetry_req: - instrumentation/opentelemetry_req/**/* -opentelemetry_finch: - - instrumentation/opentelemetry_finch/**/* - opentelemetry_telemetry: - utilities/opentelemetry_telemetry/**/* opentelemetry_tesla: - instrumentation/opentelemetry_tesla/**/* - -opentelemetry_xray: - - utilities/opentelemetry_xray/**/* - -opentelemetry_instrumentation_http: - - utilities/opentelemetry_instrumentation_http/**/* diff --git a/.github/release-drafter-templates/opentelemetry-aws-xray.yml b/.github/release-drafter-templates/opentelemetry-aws-xray.yml new file mode 100644 index 00000000..6ec2d5a6 --- /dev/null +++ b/.github/release-drafter-templates/opentelemetry-aws-xray.yml @@ -0,0 +1,7 @@ +_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml +name-template: 'Opentelemetry AWS X-Ray - v$RESOLVED_VERSION' +tag-template: 'opentelemetry-aws-xray-v$RESOLVED_VERSION' +tag-prefix: opentelemetry-aws-xray-v +include-paths: + - utilities/opentelemetry_aws_xray/src/**/* + - utilities/opentelemetry_aws_xray/rebar.* diff --git a/.github/release-drafter-templates/opentelemetry-cowboy.yml b/.github/release-drafter-templates/opentelemetry-cowboy.yml new file mode 100644 index 00000000..6ed3564c --- /dev/null +++ b/.github/release-drafter-templates/opentelemetry-cowboy.yml @@ -0,0 +1,7 @@ +_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml +name-template: 'Opentelemetry Cowboy - v$RESOLVED_VERSION' +tag-template: 'opentelemetry-cowboy-v$RESOLVED_VERSION' +tag-prefix: opentelemetry-cowboy-v +include-paths: + - instrumentation/opentelemetry_cowboy/src/**/* + - instrumentation/opentelemetry_cowboy/rebar.* diff --git a/.github/release-drafter-templates/opentelemetry-dataloader.yml b/.github/release-drafter-templates/opentelemetry-dataloader.yml new file mode 100644 index 00000000..bfa29e68 --- /dev/null +++ b/.github/release-drafter-templates/opentelemetry-dataloader.yml @@ -0,0 +1,7 @@ +_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml +name-template: 'Opentelemetry Dataloader - v$RESOLVED_VERSION' +tag-template: 'opentelemetry-dataloader-v$RESOLVED_VERSION' +tag-prefix: opentelemetry-dataloader-v +include-paths: + - instrumentation/opentelemetry_dataloader/lib/**/* + - instrumentation/opentelemetry_dataloader/lib/mix.* diff --git a/.github/release-drafter-templates/opentelemetry-ecto.yml b/.github/release-drafter-templates/opentelemetry-ecto.yml new file mode 100644 index 00000000..33c12f6a --- /dev/null +++ b/.github/release-drafter-templates/opentelemetry-ecto.yml @@ -0,0 +1,7 @@ +_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml +name-template: 'Opentelemetry Ecto - v$RESOLVED_VERSION' +tag-template: 'opentelemetry-ecto-v$RESOLVED_VERSION' +tag-prefix: opentelemetry-ecto-v +include-paths: + - instrumentation/opentelemetry_ecto/lib/**/* + - instrumentation/opentelemetry_ecto/lib/mix.* diff --git a/.github/release-drafter-templates/opentelemetry-elli.yml b/.github/release-drafter-templates/opentelemetry-elli.yml new file mode 100644 index 00000000..88a69463 --- /dev/null +++ b/.github/release-drafter-templates/opentelemetry-elli.yml @@ -0,0 +1,7 @@ +_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml +name-template: 'Opentelemetry Elli - v$RESOLVED_VERSION' +tag-template: 'opentelemetry-elli-v$RESOLVED_VERSION' +tag-prefix: opentelemetry-elli-v +include-paths: + - instrumentation/opentelemetry_elli/src/**/* + - instrumentation/opentelemetry_elli/rebar.* diff --git a/.github/release-drafter-templates/opentelemetry-finch.yml b/.github/release-drafter-templates/opentelemetry-finch.yml new file mode 100644 index 00000000..1f355129 --- /dev/null +++ b/.github/release-drafter-templates/opentelemetry-finch.yml @@ -0,0 +1,7 @@ +_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml +name-template: 'Opentelemetry Finch - v$RESOLVED_VERSION' +tag-template: 'opentelemetry-finch-v$RESOLVED_VERSION' +tag-prefix: opentelemetry-finch-v +include-paths: + - instrumentation/opentelemetry_finch/lib/**/* + - instrumentation/opentelemetry_finch/lib/mix.* diff --git a/.github/release-drafter-templates/opentelemetry-grpcbox.yml b/.github/release-drafter-templates/opentelemetry-grpcbox.yml new file mode 100644 index 00000000..08519df0 --- /dev/null +++ b/.github/release-drafter-templates/opentelemetry-grpcbox.yml @@ -0,0 +1,7 @@ +_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml +name-template: 'Opentelemetry GRPCBox - v$RESOLVED_VERSION' +tag-template: 'opentelemetry-grpcbox-v$RESOLVED_VERSION' +tag-prefix: opentelemetry-grpcbox-v +include-paths: + - instrumentation/opentelemetry_grpcbox/src/**/* + - instrumentation/opentelemetry_grpcbox/rebar.* diff --git a/.github/release-drafter-templates/opentelemetry-httpoison.yml b/.github/release-drafter-templates/opentelemetry-httpoison.yml new file mode 100644 index 00000000..5a3850e8 --- /dev/null +++ b/.github/release-drafter-templates/opentelemetry-httpoison.yml @@ -0,0 +1,7 @@ +_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml +name-template: 'Opentelemetry HTTPoison - v$RESOLVED_VERSION' +tag-template: 'opentelemetry-httpoison-v$RESOLVED_VERSION' +tag-prefix: opentelemetry-httpoison-v +include-paths: + - instrumentation/opentelemetry_httpoison/lib/**/* + - instrumentation/opentelemetry_httpoison/lib/mix.* diff --git a/.github/release-drafter-templates/opentelemetry-instrumentation-http.yml b/.github/release-drafter-templates/opentelemetry-instrumentation-http.yml new file mode 100644 index 00000000..9520a06d --- /dev/null +++ b/.github/release-drafter-templates/opentelemetry-instrumentation-http.yml @@ -0,0 +1,7 @@ +_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml +name-template: 'Opentelemetry Instrumentation HTTP - v$RESOLVED_VERSION' +tag-template: 'opentelemetry-instrumentation-http-v$RESOLVED_VERSION' +tag-prefix: opentelemetry-instrumentation-http-v +include-paths: + - utilities/opentelemetry_instrumentation-http/src/**/* + - utilities/opentelemetry_instrumentation-http/rebar.* diff --git a/.github/release-drafter-templates/opentelemetry-nebulex.yml b/.github/release-drafter-templates/opentelemetry-nebulex.yml new file mode 100644 index 00000000..5bd7fbca --- /dev/null +++ b/.github/release-drafter-templates/opentelemetry-nebulex.yml @@ -0,0 +1,7 @@ +_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml +name-template: 'Opentelemetry Nebulex - v$RESOLVED_VERSION' +tag-template: 'opentelemetry-nebulex-v$RESOLVED_VERSION' +tag-prefix: opentelemetry-nebulex-v +include-paths: + - instrumentation/opentelemetry_nebulex/lib/**/* + - instrumentation/opentelemetry_nebulex/lib/mix.* diff --git a/.github/release-drafter-templates/opentelemetry-oban.yml b/.github/release-drafter-templates/opentelemetry-oban.yml new file mode 100644 index 00000000..bd848106 --- /dev/null +++ b/.github/release-drafter-templates/opentelemetry-oban.yml @@ -0,0 +1,7 @@ +_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml +name-template: 'Opentelemetry Oban - v$RESOLVED_VERSION' +tag-template: 'opentelemetry-oban-v$RESOLVED_VERSION' +tag-prefix: opentelemetry-oban-v +include-paths: + - instrumentation/opentelemetry_oban/lib/**/* + - instrumentation/opentelemetry_oban/lib/mix.* diff --git a/.github/release-drafter-templates/opentelemetry-phoenix.yml b/.github/release-drafter-templates/opentelemetry-phoenix.yml new file mode 100644 index 00000000..c95ad91e --- /dev/null +++ b/.github/release-drafter-templates/opentelemetry-phoenix.yml @@ -0,0 +1,7 @@ +_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml +name-template: 'Opentelemetry Phoenix - v$RESOLVED_VERSION' +tag-template: 'opentelemetry-phoenix-v$RESOLVED_VERSION' +tag-prefix: opentelemetry-phoenix-v +include-paths: + - instrumentation/opentelemetry_phoenix/lib/**/* + - instrumentation/opentelemetry_phoenix/lib/mix.* diff --git a/.github/release-drafter-templates/opentelemetry-process-propagator.yml b/.github/release-drafter-templates/opentelemetry-process-propagator.yml new file mode 100644 index 00000000..0b3e3c55 --- /dev/null +++ b/.github/release-drafter-templates/opentelemetry-process-propagator.yml @@ -0,0 +1,9 @@ +_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml +name-template: 'Opentelemetry Process Propagator - v$RESOLVED_VERSION' +tag-template: 'opentelemetry-process-propagator-v$RESOLVED_VERSION' +tag-prefix: opentelemetry-process-propagator-v +include-paths: + - propagators/opentelemetry_process_propagator/src/**/* + - propagators/opentelemetry_process_propagator/rebar.* + - propagators/opentelemetry_process_propagator/lib/**/* + - propagators/opentelemetry_process_propagator/lib/mix.* diff --git a/.github/release-drafter-templates/opentelemetry-redix.yml b/.github/release-drafter-templates/opentelemetry-redix.yml new file mode 100644 index 00000000..abd6d48b --- /dev/null +++ b/.github/release-drafter-templates/opentelemetry-redix.yml @@ -0,0 +1,7 @@ +_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml +name-template: 'Opentelemetry Redix - v$RESOLVED_VERSION' +tag-template: 'opentelemetry-redix-v$RESOLVED_VERSION' +tag-prefix: opentelemetry-redix-v +include-paths: + - instrumentation/opentelemetry_redix/lib/**/* + - instrumentation/opentelemetry_redix/lib/mix.* diff --git a/.github/release-drafter-templates/opentelemetry-req.yml b/.github/release-drafter-templates/opentelemetry-req.yml new file mode 100644 index 00000000..1e1a9fe4 --- /dev/null +++ b/.github/release-drafter-templates/opentelemetry-req.yml @@ -0,0 +1,7 @@ +_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml +name-template: 'Opentelemetry Req - v$RESOLVED_VERSION' +tag-template: 'opentelemetry-req-v$RESOLVED_VERSION' +tag-prefix: opentelemetry-req-v +include-paths: + - instrumentation/opentelemetry_req/lib/**/* + - instrumentation/opentelemetry_req/lib/mix.* diff --git a/.github/release-drafter-templates/opentelemetry-telemetry.yml b/.github/release-drafter-templates/opentelemetry-telemetry.yml new file mode 100644 index 00000000..06963e8a --- /dev/null +++ b/.github/release-drafter-templates/opentelemetry-telemetry.yml @@ -0,0 +1,9 @@ +_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml +name-template: 'Opentelemetry Telemetry - v$RESOLVED_VERSION' +tag-template: 'opentelemetry-telemetry-v$RESOLVED_VERSION' +tag-prefix: opentelemetry-telemetry-v +include-paths: + - utilities/opentelemetry_telemetry/src/**/* + - utilities/opentelemetry_telemetry/rebar.* + - utilities/opentelemetry_telemetry/lib/**/* + - utilities/opentelemetry_telemetry/lib/mix.* diff --git a/.github/release-drafter-templates/opentelemetry-tesla.yml b/.github/release-drafter-templates/opentelemetry-tesla.yml new file mode 100644 index 00000000..b0924e22 --- /dev/null +++ b/.github/release-drafter-templates/opentelemetry-tesla.yml @@ -0,0 +1,7 @@ +_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml +name-template: 'Opentelemetry Tesla - v$RESOLVED_VERSION' +tag-template: 'opentelemetry-tesla-v$RESOLVED_VERSION' +tag-prefix: opentelemetry-tesla-v +include-paths: + - instrumentation/opentelemetry_tesla/lib/**/* + - instrumentation/opentelemetry_tesla/lib/mix.* diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 00000000..ca8f7c0f --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,30 @@ +categories: + - title: '🚀 Features' + labels: + - 'feature' + - 'enhancement' + - 'release' + - title: '🐛 Bug Fixes' + labels: + - 'bug' + - title: '🧰 Maintenance' + label: 'chore' +change-template: '- $TITLE @$AUTHOR (#$NUMBER)' +change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. +version-resolver: + major: + labels: + - 'major' + minor: + labels: + - 'minor' + patch: + labels: + - 'patch' + default: patch +exclude-labels: + - 'skip-changelog' +template: | + ## Changes + + $CHANGES diff --git a/.github/workflows/elixir.yml b/.github/workflows/elixir.yml index 09878a6f..e9c3c40a 100644 --- a/.github/workflows/elixir.yml +++ b/.github/workflows/elixir.yml @@ -27,16 +27,16 @@ jobs: matrixStringifiedObject="$(jq -c . .github/elixir-test-matrix.json)" echo "matrix=$matrixStringifiedObject" >> $GITHUB_OUTPUT - opentelemetry-ecto: + opentelemetry-dataloader: needs: [test-matrix] - if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_ecto')) + if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_dataloader')) env: - app: "opentelemetry_ecto" + app: "opentelemetry_dataloader" defaults: run: working-directory: instrumentation/${{ env.app }} runs-on: ${{ matrix.os }} - name: Opentelemetry Ecto test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) + name: Opentelemetry Dataloader test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }} @@ -48,16 +48,17 @@ jobs: env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres - POSTGRES_DB: opentelemetry_ecto_test + POSTGRES_DB: opentelemetry_dataloader_test + steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: otp-version: ${{ matrix.otp_version }} elixir-version: ${{ matrix.elixir_version }} rebar3-version: ${{ matrix.rebar3_version }} - name: Cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: | ~/deps @@ -74,28 +75,37 @@ jobs: - name: Test run: mix test - opentelemetry-nebulex: + opentelemetry-ecto: needs: [test-matrix] - if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_nebulex')) + if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_ecto')) env: - app: "opentelemetry_nebulex" + app: "opentelemetry_ecto" defaults: run: working-directory: instrumentation/${{ env.app }} runs-on: ${{ matrix.os }} - name: Opentelemetry Nebulex test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) + name: Opentelemetry Ecto test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }} + services: + postgres: + image: circleci/postgres:13.3-ram + ports: ["5432:5432"] + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: opentelemetry_ecto_test steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v2 - uses: erlef/setup-beam@v1 with: otp-version: ${{ matrix.otp_version }} elixir-version: ${{ matrix.elixir_version }} rebar3-version: ${{ matrix.rebar3_version }} - name: Cache - uses: actions/cache@v3 + uses: actions/cache@v2 with: path: | ~/deps @@ -112,16 +122,16 @@ jobs: - name: Test run: mix test - opentelemetry-phoenix: + opentelemetry-finch: needs: [test-matrix] - if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_phoenix')) + if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_finch')) env: - app: "opentelemetry_phoenix" + app: "opentelemetry_finch" defaults: run: working-directory: instrumentation/${{ env.app }} runs-on: ${{ matrix.os }} - name: Opentelemetry Phoenix test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) + name: Opentelemetry Finch test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }} @@ -150,23 +160,19 @@ jobs: - name: Test run: mix test - opentelemetry-redix: + opentelemetry-httpoison: needs: [test-matrix] - if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_redix')) + if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_httpoison')) env: - app: "opentelemetry_redix" + app: "opentelemetry_httpoison" defaults: run: working-directory: instrumentation/${{ env.app }} - runs-on: ${{ matrix.os }} - name: Opentelemetry Redix test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) + runs-on: ubuntu-20.04 + name: Opentelemetry HTTPoison test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }} - services: - redis: - image: redis:alpine - ports: ["6379:6379"] steps: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 @@ -192,16 +198,16 @@ jobs: - name: Test run: mix test - opentelemetry-req: + opentelemetry-nebulex: needs: [test-matrix] - if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_req')) + if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_nebulex')) env: - app: "opentelemetry_req" + app: "opentelemetry_nebulex" defaults: run: working-directory: instrumentation/${{ env.app }} runs-on: ${{ matrix.os }} - name: Opentelemetry Req test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) + name: Opentelemetry Nebulex test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }} @@ -230,19 +236,28 @@ jobs: - name: Test run: mix test - opentelemetry-finch: + opentelemetry-oban: needs: [test-matrix] - if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_finch')) + if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_oban')) env: - app: "opentelemetry_finch" + app: "opentelemetry_oban" defaults: run: working-directory: instrumentation/${{ env.app }} runs-on: ${{ matrix.os }} - name: Opentelemetry Finch test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) + name: Opentelemetry Oban test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }} + services: + postgres: + image: circleci/postgres:13.3-ram + ports: ["5432:5432"] + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: opentelemetry_oban_test steps: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 @@ -268,16 +283,16 @@ jobs: - name: Test run: mix test - opentelemetry-telemetry: + opentelemetry-phoenix: needs: [test-matrix] - if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_telemetry')) + if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_phoenix')) env: - app: "opentelemetry_telemetry" + app: "opentelemetry_phoenix" defaults: run: - working-directory: utilities/${{ env.app }} + working-directory: instrumentation/${{ env.app }} runs-on: ${{ matrix.os }} - name: Opentelemetry Telemetry test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) + name: Opentelemetry Phoenix test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }} @@ -306,28 +321,23 @@ jobs: - name: Test run: mix test - opentelemetry-oban: + opentelemetry-redix: needs: [test-matrix] - if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_oban')) + if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_redix')) env: - app: "opentelemetry_oban" + app: "opentelemetry_redix" defaults: run: working-directory: instrumentation/${{ env.app }} runs-on: ${{ matrix.os }} - name: Opentelemetry Oban test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) + name: Opentelemetry Redix test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }} services: - postgres: - image: circleci/postgres:13.3-ram - ports: ["5432:5432"] - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - env: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: postgres - POSTGRES_DB: opentelemetry_oban_test + redis: + image: redis:alpine + ports: ["6379:6379"] steps: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 @@ -353,29 +363,19 @@ jobs: - name: Test run: mix test - opentelemetry-dataloader: + opentelemetry-req: needs: [test-matrix] - if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_dataloader')) + if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_req')) env: - app: "opentelemetry_dataloader" + app: "opentelemetry_req" defaults: run: working-directory: instrumentation/${{ env.app }} runs-on: ${{ matrix.os }} - name: Opentelemetry Dataloader test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) + name: Opentelemetry Req test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }} - services: - postgres: - image: circleci/postgres:13.3-ram - ports: ["5432:5432"] - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - env: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: postgres - POSTGRES_DB: opentelemetry_dataloader_test - steps: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 @@ -401,16 +401,16 @@ jobs: - name: Test run: mix test - opentelemetry-process-propagator: + opentelemetry-telemetry: needs: [test-matrix] - if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_process_propagator')) + if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_telemetry')) env: - app: "opentelemetry_process_propagator" + app: "opentelemetry_telemetry" defaults: run: - working-directory: propagators/${{ env.app }} + working-directory: utilities/${{ env.app }} runs-on: ${{ matrix.os }} - name: Opentelemetry Process Propagator test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) + name: Opentelemetry Telemetry test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }} @@ -439,16 +439,16 @@ jobs: - name: Test run: mix test - opentelemetry-tesla: + opentelemetry-process-propagator: needs: [test-matrix] - if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_tesla')) + if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_process_propagator')) env: - app: "opentelemetry_tesla" + app: "opentelemetry_process_propagator" defaults: run: - working-directory: instrumentation/${{ env.app }} + working-directory: propagators/${{ env.app }} runs-on: ${{ matrix.os }} - name: Opentelemetry Tesla test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) + name: Opentelemetry Process Propagator test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }} @@ -477,16 +477,16 @@ jobs: - name: Test run: mix test - opentelemetry-httpoison: + opentelemetry-tesla: needs: [test-matrix] - if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_httpoison')) + if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_tesla')) env: - app: "opentelemetry_httpoison" + app: "opentelemetry_tesla" defaults: run: working-directory: instrumentation/${{ env.app }} - runs-on: ubuntu-20.04 - name: Opentelemetry HTTPoison test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) + runs-on: ${{ matrix.os }} + name: Opentelemetry Tesla test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) strategy: fail-fast: false matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }} diff --git a/.github/workflows/erlang.yml b/.github/workflows/erlang.yml index 6e9c8735..a38757a9 100644 --- a/.github/workflows/erlang.yml +++ b/.github/workflows/erlang.yml @@ -27,6 +27,37 @@ jobs: matrixStringifiedObject="$(jq -c . .github/erlang-test-matrix.json)" echo "matrix=$matrixStringifiedObject" >> $GITHUB_OUTPUT + opentelemetry-aws-xray: + needs: [test-matrix] + if: (contains(github.event.pull_request.labels.*.name, 'erlang') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_aws_xray')) + env: + app: "opentelemetry_aws_xray" + defaults: + run: + working-directory: utilities/${{ env.app }} + runs-on: ${{ matrix.os }} + name: Opentelemetry AWS X-Ray test on OTP ${{ matrix.otp_version }} with Rebar3 ${{ matrix.rebar3_version }} + strategy: + fail-fast: false + matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }} + steps: + - uses: actions/checkout@v3 + - uses: erlef/setup-beam@v1 + with: + otp-version: ${{ matrix.otp_version }} + rebar3-version: ${{ matrix.rebar3_version }} + - name: Cache + uses: actions/cache@v3 + with: + path: | + ~/_build + key: ${{ runner.os }}-build-${{ matrix.otp_version }}-${{ matrix.rebar3_version }}-v3-${{ hashFiles('**/rebar.lock') }} + - name: Fetch deps + if: steps.deps-cache.outputs.cache-hit != 'true' + run: rebar3 get-deps + - name: Test + run: rebar3 ct + opentelemetry-cowboy: needs: [test-matrix] if: (contains(github.event.pull_request.labels.*.name, 'erlang') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_cowboy')) @@ -58,16 +89,16 @@ jobs: - name: Test run: rebar3 ct - opentelemetry-telemetry: + opentelemetry-elli: needs: [test-matrix] - if: (contains(github.event.pull_request.labels.*.name, 'erlang') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_telemetry')) + if: (contains(github.event.pull_request.labels.*.name, 'erlang') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_elli')) env: - app: "opentelemetry_telemetry" + app: "opentelemetry_elli" defaults: run: - working-directory: utilities/${{ env.app }} + working-directory: instrumentation/${{ env.app }} runs-on: ${{ matrix.os }} - name: Opentelemetry Telemetry test on OTP ${{ matrix.otp_version }} with Rebar3 ${{ matrix.rebar3_version }} + name: Opentelemetry Elli test on OTP ${{ matrix.otp_version }} with Rebar3 ${{ matrix.rebar3_version }} strategy: fail-fast: false matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }} @@ -89,16 +120,16 @@ jobs: - name: Test run: rebar3 ct - opentelemetry-aws-xray: + opentelemetry-grpcbox: needs: [test-matrix] - if: (contains(github.event.pull_request.labels.*.name, 'erlang') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_aws_xray')) + if: (contains(github.event.pull_request.labels.*.name, 'erlang') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_grpcbox')) env: - app: "opentelemetry_aws_xray" + app: "opentelemetry_grpcbox" defaults: run: - working-directory: utilities/${{ env.app }} + working-directory: instrumentation/${{ env.app }} runs-on: ${{ matrix.os }} - name: Opentelemetry AWS X-Ray test on OTP ${{ matrix.otp_version }} with Rebar3 ${{ matrix.rebar3_version }} + name: Opentelemetry GRPCBox test on OTP ${{ matrix.otp_version }} with Rebar3 ${{ matrix.rebar3_version }} strategy: fail-fast: false matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }} @@ -150,3 +181,34 @@ jobs: run: rebar3 get-deps - name: Test run: rebar3 eunit + + opentelemetry-telemetry: + needs: [test-matrix] + if: (contains(github.event.pull_request.labels.*.name, 'erlang') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_telemetry')) + env: + app: "opentelemetry_telemetry" + defaults: + run: + working-directory: utilities/${{ env.app }} + runs-on: ${{ matrix.os }} + name: Opentelemetry Telemetry test on OTP ${{ matrix.otp_version }} with Rebar3 ${{ matrix.rebar3_version }} + strategy: + fail-fast: false + matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }} + steps: + - uses: actions/checkout@v3 + - uses: erlef/setup-beam@v1 + with: + otp-version: ${{ matrix.otp_version }} + rebar3-version: ${{ matrix.rebar3_version }} + - name: Cache + uses: actions/cache@v3 + with: + path: | + ~/_build + key: ${{ runner.os }}-build-${{ matrix.otp_version }}-${{ matrix.rebar3_version }}-v3-${{ hashFiles('**/rebar.lock') }} + - name: Fetch deps + if: steps.deps-cache.outputs.cache-hit != 'true' + run: rebar3 get-deps + - name: Test + run: rebar3 ct diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml new file mode 100644 index 00000000..e7df75d8 --- /dev/null +++ b/.github/workflows/release-drafter.yml @@ -0,0 +1,177 @@ +name: Release Drafter + +on: + push: + branches: + - main + +jobs: + opentelemetry-aws-xray-release: + name: '[opentelemetry-aws-xray-release] Draft release' + runs-on: ubuntu-20.04 + steps: + - uses: release-drafter/release-drafter@v5 + with: + config-name: release-drafter-templates/opentelemetry-aws-xray.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + opentelemetry-cowboy-release: + name: '[opentelemetry-cowboy-release] Draft release' + runs-on: ubuntu-20.04 + steps: + - uses: release-drafter/release-drafter@v5 + with: + config-name: release-drafter-templates/opentelemetry-cowboy.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + opentelemetry-dataloader-release: + name: '[opentelemetry-dataloader-release] Draft release' + runs-on: ubuntu-20.04 + steps: + - uses: release-drafter/release-drafter@v5 + with: + config-name: release-drafter-templates/opentelemetry-dataloader.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + opentelemetry-ecto-release: + name: '[opentelemetry-ecto-release] Draft release' + runs-on: ubuntu-20.04 + steps: + - uses: release-drafter/release-drafter@v5 + with: + config-name: release-drafter-templates/opentelemetry-ecto.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + opentelemetry-elli-release: + name: '[opentelemetry-elli-release] Draft release' + runs-on: ubuntu-20.04 + steps: + - uses: release-drafter/release-drafter@v5 + with: + config-name: release-drafter-templates/opentelemetry-elli.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + opentelemetry-finch-release: + name: '[opentelemetry-finch-release] Draft release' + runs-on: ubuntu-20.04 + steps: + - uses: release-drafter/release-drafter@v5 + with: + config-name: release-drafter-templates/opentelemetry-finch.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + opentelemetry-grpcbox-release: + name: '[opentelemetry-grpcbox-release] Draft release' + runs-on: ubuntu-20.04 + steps: + - uses: release-drafter/release-drafter@v5 + with: + config-name: release-drafter-templates/opentelemetry-grpcbox.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + opentelemetry-httpoison-release: + name: '[opentelemetry-httpoison-release] Draft release' + runs-on: ubuntu-20.04 + steps: + - uses: release-drafter/release-drafter@v5 + with: + config-name: release-drafter-templates/opentelemetry-httpoison.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + opentelemetry-instrumentation-http-release: + name: '[opentelemetry-instrument-http-release] Draft release' + runs-on: ubuntu-20.04 + steps: + - uses: release-drafter/release-drafter@v5 + with: + config-name: release-drafter-templates/opentelemetry-instrumentation-http.yml + env: + + opentelemetry-nebulex-release: + name: '[opentelemetry-nebulex-release] Draft release' + runs-on: ubuntu-20.04 + steps: + - uses: release-drafter/release-drafter@v5 + with: + config-name: release-drafter-templates/opentelemetry-nebulex.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + opentelemetry-oban-release: + name: '[opentelemetry-oban-release] Draft release' + runs-on: ubuntu-20.04 + steps: + - uses: release-drafter/release-drafter@v5 + with: + config-name: release-drafter-templates/opentelemetry-oban.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + opentelemetry-phoenix-release: + name: '[opentelemetry-phoenix-release] Draft release' + runs-on: ubuntu-20.04 + steps: + - uses: release-drafter/release-drafter@v5 + with: + config-name: release-drafter-templates/opentelemetry-phoenix.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + opentelemetry-process-propagator-release: + name: '[opentelemetry-process-propagator-release] Draft release' + runs-on: ubuntu-20.04 + steps: + - uses: release-drafter/release-drafter@v5 + with: + config-name: release-drafter-templates/opentelemetry-process-propagator.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + opentelemetry-redix-release: + name: '[opentelemetry-redix-release] Draft release' + runs-on: ubuntu-20.04 + steps: + - uses: release-drafter/release-drafter@v5 + with: + config-name: release-drafter-templates/opentelemetry-redix.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + opentelemetry-req-release: + name: '[opentelemetry-req-release] Draft release' + runs-on: ubuntu-20.04 + steps: + - uses: release-drafter/release-drafter@v5 + with: + config-name: release-drafter-templates/opentelemetry-req.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + opentelemetry-telemetry-release: + name: '[opentelemetry-telemetry-release] Draft release' + runs-on: ubuntu-20.04 + steps: + - uses: release-drafter/release-drafter@v5 + with: + config-name: release-drafter-templates/opentelemetry-telemetry.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + opentelemetry-tesla-release: + name: '[opentelemetry-tesla-release] Draft release' + runs-on: ubuntu-20.04 + steps: + - uses: release-drafter/release-drafter@v5 + with: + config-name: release-drafter-templates/opentelemetry-tesla.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 6a143eeccfc2ba80c5a186852f10d65cd1c696bf Mon Sep 17 00:00:00 2001 From: Bryan Naegele Date: Wed, 6 Sep 2023 03:59:09 -0600 Subject: [PATCH 3/6] Update release-drafter.yml (#203) --- .github/workflows/release-drafter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index e7df75d8..f164c12d 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -15,7 +15,6 @@ jobs: config-name: release-drafter-templates/opentelemetry-aws-xray.yml env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} opentelemetry-cowboy-release: name: '[opentelemetry-cowboy-release] Draft release' @@ -95,6 +94,7 @@ jobs: with: config-name: release-drafter-templates/opentelemetry-instrumentation-http.yml env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} opentelemetry-nebulex-release: name: '[opentelemetry-nebulex-release] Draft release' From 596fcbc2cbc53d6b31d1126e11a13c1a9ee36c0b Mon Sep 17 00:00:00 2001 From: Bryan Naegele Date: Tue, 12 Sep 2023 19:28:53 -0600 Subject: [PATCH 4/6] Handle empty stack (#205) * Update otel_telemetry.erl * Add debug log (#204) --- utilities/opentelemetry_telemetry/src/otel_telemetry.erl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/utilities/opentelemetry_telemetry/src/otel_telemetry.erl b/utilities/opentelemetry_telemetry/src/otel_telemetry.erl index 16dff824..9c1beee2 100644 --- a/utilities/opentelemetry_telemetry/src/otel_telemetry.erl +++ b/utilities/opentelemetry_telemetry/src/otel_telemetry.erl @@ -100,7 +100,11 @@ peek_from_tracer_stack(TracerId) -> undefined -> undefined; [SpanCtxSet | _Rest] -> - SpanCtxSet + SpanCtxSet; + [] -> + ?LOG_DEBUG("`opentelemetry_telemetry` span ctx tracer stack for " + "TracerId ~p in Pid ~p is empty.", [TracerId, self()]), + undefined end. -spec pop_ctx(atom(), telemetry:event_metadata()) -> ctx_set(). From 02202fb7800ac6e145ee6cc6ef38b95e7d105a58 Mon Sep 17 00:00:00 2001 From: Bryan Naegele Date: Sat, 16 Sep 2023 09:17:35 -0600 Subject: [PATCH 5/6] Add strict version type for setup-beam (#206) --- .github/workflows/elixir.yml | 12 ++++++++++++ .github/workflows/erlang.yml | 6 ++++++ 2 files changed, 18 insertions(+) diff --git a/.github/workflows/elixir.yml b/.github/workflows/elixir.yml index e9c3c40a..35932d3e 100644 --- a/.github/workflows/elixir.yml +++ b/.github/workflows/elixir.yml @@ -54,6 +54,7 @@ jobs: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: + version-type: strict otp-version: ${{ matrix.otp_version }} elixir-version: ${{ matrix.elixir_version }} rebar3-version: ${{ matrix.rebar3_version }} @@ -101,6 +102,7 @@ jobs: - uses: actions/checkout@v2 - uses: erlef/setup-beam@v1 with: + version-type: strict otp-version: ${{ matrix.otp_version }} elixir-version: ${{ matrix.elixir_version }} rebar3-version: ${{ matrix.rebar3_version }} @@ -139,6 +141,7 @@ jobs: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: + version-type: strict otp-version: ${{ matrix.otp_version }} elixir-version: ${{ matrix.elixir_version }} rebar3-version: ${{ matrix.rebar3_version }} @@ -177,6 +180,7 @@ jobs: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: + version-type: strict otp-version: ${{ matrix.otp_version }} elixir-version: ${{ matrix.elixir_version }} rebar3-version: ${{ matrix.rebar3_version }} @@ -215,6 +219,7 @@ jobs: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: + version-type: strict otp-version: ${{ matrix.otp_version }} elixir-version: ${{ matrix.elixir_version }} rebar3-version: ${{ matrix.rebar3_version }} @@ -262,6 +267,7 @@ jobs: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: + version-type: strict otp-version: ${{ matrix.otp_version }} elixir-version: ${{ matrix.elixir_version }} rebar3-version: ${{ matrix.rebar3_version }} @@ -300,6 +306,7 @@ jobs: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: + version-type: strict otp-version: ${{ matrix.otp_version }} elixir-version: ${{ matrix.elixir_version }} rebar3-version: ${{ matrix.rebar3_version }} @@ -342,6 +349,7 @@ jobs: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: + version-type: strict otp-version: ${{ matrix.otp_version }} elixir-version: ${{ matrix.elixir_version }} rebar3-version: ${{ matrix.rebar3_version }} @@ -380,6 +388,7 @@ jobs: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: + version-type: strict otp-version: ${{ matrix.otp_version }} elixir-version: ${{ matrix.elixir_version }} rebar3-version: ${{ matrix.rebar3_version }} @@ -418,6 +427,7 @@ jobs: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: + version-type: strict otp-version: ${{ matrix.otp_version }} elixir-version: ${{ matrix.elixir_version }} rebar3-version: ${{ matrix.rebar3_version }} @@ -456,6 +466,7 @@ jobs: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: + version-type: strict otp-version: ${{ matrix.otp_version }} elixir-version: ${{ matrix.elixir_version }} rebar3-version: ${{ matrix.rebar3_version }} @@ -494,6 +505,7 @@ jobs: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: + version-type: strict otp-version: ${{ matrix.otp_version }} elixir-version: ${{ matrix.elixir_version }} rebar3-version: ${{ matrix.rebar3_version }} diff --git a/.github/workflows/erlang.yml b/.github/workflows/erlang.yml index a38757a9..46fcf90a 100644 --- a/.github/workflows/erlang.yml +++ b/.github/workflows/erlang.yml @@ -44,6 +44,7 @@ jobs: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: + version-type: strict otp-version: ${{ matrix.otp_version }} rebar3-version: ${{ matrix.rebar3_version }} - name: Cache @@ -75,6 +76,7 @@ jobs: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: + version-type: strict otp-version: ${{ matrix.otp_version }} rebar3-version: ${{ matrix.rebar3_version }} - name: Cache @@ -106,6 +108,7 @@ jobs: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: + version-type: strict otp-version: ${{ matrix.otp_version }} rebar3-version: ${{ matrix.rebar3_version }} - name: Cache @@ -137,6 +140,7 @@ jobs: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: + version-type: strict otp-version: ${{ matrix.otp_version }} rebar3-version: ${{ matrix.rebar3_version }} - name: Cache @@ -168,6 +172,7 @@ jobs: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: + version-type: strict otp-version: ${{ matrix.otp_version }} rebar3-version: ${{ matrix.rebar3_version }} - name: Cache @@ -199,6 +204,7 @@ jobs: - uses: actions/checkout@v3 - uses: erlef/setup-beam@v1 with: + version-type: strict otp-version: ${{ matrix.otp_version }} rebar3-version: ${{ matrix.rebar3_version }} - name: Cache From 98d0bab4a9701e56143ac9da0b7692c93173e616 Mon Sep 17 00:00:00 2001 From: Bryan Naegele Date: Sat, 16 Sep 2023 09:51:50 -0600 Subject: [PATCH 6/6] Remove telemetry registry, fix broken log, update tests (#207) * Remove telemetry registry, fix broken log, update tests * Fix rebar and otp versions * Specific rebar3 * Roll back dialyxir --- .github/elixir-test-matrix.json | 4 +- .github/erlang-test-matrix.json | 4 +- .../_checkouts/test_app/.gitignore | 20 -- .../_checkouts/test_app/LICENSE | 191 ------------------ .../_checkouts/test_app/README.md | 9 - .../_checkouts/test_app/rebar.config | 33 --- .../_checkouts/test_app/rebar.lock | 1 - .../_checkouts/test_app/src/test_app.app.src | 16 -- .../_checkouts/test_app/src/test_app.erl | 82 -------- .../_checkouts/test_app/src/test_app_app.erl | 26 --- .../_checkouts/test_app/src/test_app_sup.erl | 38 ---- .../_checkouts/test_child_app/.gitignore | 19 -- .../_checkouts/test_child_app/LICENSE | 191 ------------------ .../_checkouts/test_child_app/README.md | 9 - .../_checkouts/test_child_app/rebar.config | 7 - .../_checkouts/test_child_app/rebar.lock | 1 - .../test_child_app/src/test_child_app.app.src | 15 -- .../test_child_app/src/test_child_app.erl | 27 --- .../test_child_app/src/test_child_app_app.erl | 26 --- .../test_child_app/src/test_child_app_sup.erl | 38 ---- utilities/opentelemetry_telemetry/mix.exs | 2 +- utilities/opentelemetry_telemetry/mix.lock | 14 +- .../opentelemetry_telemetry/rebar.config | 6 +- utilities/opentelemetry_telemetry/rebar.lock | 20 +- .../src/opentelemetry_telemetry.app.src | 3 +- .../src/otel_telemetry.erl | 39 +--- .../test/otel_telemetry_SUITE.erl | 83 +++++++- 27 files changed, 103 insertions(+), 821 deletions(-) delete mode 100644 utilities/opentelemetry_telemetry/_checkouts/test_app/.gitignore delete mode 100644 utilities/opentelemetry_telemetry/_checkouts/test_app/LICENSE delete mode 100644 utilities/opentelemetry_telemetry/_checkouts/test_app/README.md delete mode 100644 utilities/opentelemetry_telemetry/_checkouts/test_app/rebar.config delete mode 100644 utilities/opentelemetry_telemetry/_checkouts/test_app/rebar.lock delete mode 100644 utilities/opentelemetry_telemetry/_checkouts/test_app/src/test_app.app.src delete mode 100644 utilities/opentelemetry_telemetry/_checkouts/test_app/src/test_app.erl delete mode 100644 utilities/opentelemetry_telemetry/_checkouts/test_app/src/test_app_app.erl delete mode 100644 utilities/opentelemetry_telemetry/_checkouts/test_app/src/test_app_sup.erl delete mode 100644 utilities/opentelemetry_telemetry/_checkouts/test_child_app/.gitignore delete mode 100644 utilities/opentelemetry_telemetry/_checkouts/test_child_app/LICENSE delete mode 100644 utilities/opentelemetry_telemetry/_checkouts/test_child_app/README.md delete mode 100644 utilities/opentelemetry_telemetry/_checkouts/test_child_app/rebar.config delete mode 100644 utilities/opentelemetry_telemetry/_checkouts/test_child_app/rebar.lock delete mode 100644 utilities/opentelemetry_telemetry/_checkouts/test_child_app/src/test_child_app.app.src delete mode 100644 utilities/opentelemetry_telemetry/_checkouts/test_child_app/src/test_child_app.erl delete mode 100644 utilities/opentelemetry_telemetry/_checkouts/test_child_app/src/test_child_app_app.erl delete mode 100644 utilities/opentelemetry_telemetry/_checkouts/test_child_app/src/test_child_app_sup.erl diff --git a/.github/elixir-test-matrix.json b/.github/elixir-test-matrix.json index ef1a54d0..50d30258 100644 --- a/.github/elixir-test-matrix.json +++ b/.github/elixir-test-matrix.json @@ -13,7 +13,7 @@ "1.11.4" ], "rebar3_version": [ - "3.20" + "3.20.0" ], "os": [ "ubuntu-20.04" @@ -55,4 +55,4 @@ "otp_version": "26.0.2" } ] -} \ No newline at end of file +} diff --git a/.github/erlang-test-matrix.json b/.github/erlang-test-matrix.json index b8c18a5f..db0f43b1 100644 --- a/.github/erlang-test-matrix.json +++ b/.github/erlang-test-matrix.json @@ -1,5 +1,5 @@ { - "otp_version": ["26.0.2", "25.3.5.2", "24.3.4.13", "23.3.4.19"], - "rebar3_version": ["3.20"], + "otp_version": ["26.0.2", "25.3.2.6", "24.3.4.13", "23.3.4.19"], + "rebar3_version": ["3.20.0"], "os": ["ubuntu-20.04"] } diff --git a/utilities/opentelemetry_telemetry/_checkouts/test_app/.gitignore b/utilities/opentelemetry_telemetry/_checkouts/test_app/.gitignore deleted file mode 100644 index 96f7b51b..00000000 --- a/utilities/opentelemetry_telemetry/_checkouts/test_app/.gitignore +++ /dev/null @@ -1,20 +0,0 @@ -.rebar3 -_* -.eunit -*.o -*.beam -*.plt -*.swp -*.swo -.erlang.cookie -ebin -log -erl_crash.dump -.rebar -logs -_build -.idea -*.iml -rebar3.crashdump -*~ -!_checkouts diff --git a/utilities/opentelemetry_telemetry/_checkouts/test_app/LICENSE b/utilities/opentelemetry_telemetry/_checkouts/test_app/LICENSE deleted file mode 100644 index 01f8d07e..00000000 --- a/utilities/opentelemetry_telemetry/_checkouts/test_app/LICENSE +++ /dev/null @@ -1,191 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright 2020, Bryan Naegele . - - 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. - diff --git a/utilities/opentelemetry_telemetry/_checkouts/test_app/README.md b/utilities/opentelemetry_telemetry/_checkouts/test_app/README.md deleted file mode 100644 index c89e88ce..00000000 --- a/utilities/opentelemetry_telemetry/_checkouts/test_app/README.md +++ /dev/null @@ -1,9 +0,0 @@ -test_app -===== - -An OTP application - -Build ------ - - $ rebar3 compile diff --git a/utilities/opentelemetry_telemetry/_checkouts/test_app/rebar.config b/utilities/opentelemetry_telemetry/_checkouts/test_app/rebar.config deleted file mode 100644 index a76d53b4..00000000 --- a/utilities/opentelemetry_telemetry/_checkouts/test_app/rebar.config +++ /dev/null @@ -1,33 +0,0 @@ -{erl_opts, [debug_info]}. -{deps, [ - {test_child_app, "~> 0.1"} -]}. - -{profiles, [ - {test, [{erl_opts, [nowarn_export_all]}, - {deps, [ - {test_child_app, "~> 0.1"}, - {telemetry, "~> 1.0"} - ]}, - %% create junit xml for circleci - {ct_opts, [{ct_hooks, [cth_surefire]}]}, - {cover_enabled, true}, - {cover_opts, [verbose]}, - {paths, ["src", "test/support"]}, - %% convert to data codecov understands - {plugins, [covertool]}, - {covertool, [{coverdata_files, ["ct.coverdata"]}]} - ]}, - {docs, [{edoc_opts, [{preprocess, true}, - {title, "Test App"}]} - ]} -]}. - -{shell, [ - % {config, "config/sys.config"}, - {apps, [test_app]} -]}. - -%% take out warnings for unused exported functions -{xref_checks,[undefined_function_calls, undefined_functions, locals_not_used, - deprecated_function_calls, deprecated_functions]}. \ No newline at end of file diff --git a/utilities/opentelemetry_telemetry/_checkouts/test_app/rebar.lock b/utilities/opentelemetry_telemetry/_checkouts/test_app/rebar.lock deleted file mode 100644 index 57afcca0..00000000 --- a/utilities/opentelemetry_telemetry/_checkouts/test_app/rebar.lock +++ /dev/null @@ -1 +0,0 @@ -[]. diff --git a/utilities/opentelemetry_telemetry/_checkouts/test_app/src/test_app.app.src b/utilities/opentelemetry_telemetry/_checkouts/test_app/src/test_app.app.src deleted file mode 100644 index 7e833bdb..00000000 --- a/utilities/opentelemetry_telemetry/_checkouts/test_app/src/test_app.app.src +++ /dev/null @@ -1,16 +0,0 @@ -{application, test_app, - [{description, "An OTP application"}, - {vsn, "0.1.0"}, - {registered, []}, - {mod, {test_app_app, []}}, - {applications, - [kernel, - stdlib, - test_child_app - ]}, - {env,[]}, - {modules, []}, - - {licenses, ["Apache 2.0"]}, - {links, []} - ]}. diff --git a/utilities/opentelemetry_telemetry/_checkouts/test_app/src/test_app.erl b/utilities/opentelemetry_telemetry/_checkouts/test_app/src/test_app.erl deleted file mode 100644 index dd90eb2d..00000000 --- a/utilities/opentelemetry_telemetry/_checkouts/test_app/src/test_app.erl +++ /dev/null @@ -1,82 +0,0 @@ --module(test_app). - --export([handler/1]). - --telemetry_event #{ - event => [test_app, handler, start], - description => <<"Emitted at the start of the handler">>, - measurements => <<"#{system_time => non_neg_integer()}">>, - metadata => <<"#{}">> - }. --telemetry_event #{ - event => [test_app, handler, stop], - description => <<"Emitted at the end of the handler">>, - measurements => <<"#{duration => non_neg_integer()}">>, - metadata => <<"#{}">> - }. --telemetry_event #{ - event => [test_app, handler, exception], - description => <<"The handler raised an exception">>, - measurements => <<"#{duration => non_neg_integer()}">>, - metadata => <<"#{kind => atom(), reason => atom(), stacktrace => term()}">> - }. - --telemetry_event #{ - event => [test_app, nested_span, start], - description => <<"Emitted at the start of the handler">>, - measurements => <<"#{system_time => non_neg_integer()}">>, - metadata => <<"#{}">> - }. --telemetry_event #{ - event => [test_app, nested_span, stop], - description => <<"Emitted at the end of the handler">>, - measurements => <<"#{duration => non_neg_integer()}">>, - metadata => <<"#{}">> - }. --telemetry_event #{ - event => [test_app, nested_span, exception], - description => <<"The handler raised an exception">>, - measurements => <<"#{duration => non_neg_integer()}">>, - metadata => <<"#{kind => atom(), reason => atom(), stacktrace => term()}">> - }. - - --telemetry_event #{ - event => [test_app, only, stop], - description => <<"The handler raised an exception">>, - measurements => <<"#{duration => non_neg_integer()}">>, - metadata => <<"#{kind => atom(), reason => atom(), stacktrace => term()}">> - }. - --telemetry_event #{ - event => [test_app, cache, miss], - description => <<"Emitted at the start of the handler">>, - measurements => <<"#{system_time => non_neg_integer()}">>, - metadata => <<"#{}">> - }. --telemetry_event #{ - event => [test_app, cache, hit], - description => <<"Emitted at the end of the handler">>, - measurements => <<"#{duration => non_neg_integer()}">>, - metadata => <<"#{}">> - }. - -handler(Args) -> - _ = telemetry:span( - [test_app, handler], - #{}, - fun() -> - case Args of - raise_exception -> - binary_to_list("heh, already a list"); - _ -> {nested_span(), #{}} - end - end). - -nested_span() -> - _ = telemetry:span( - [test_app, nested_span], - #{}, - fun() -> - {ok, #{}} - end). diff --git a/utilities/opentelemetry_telemetry/_checkouts/test_app/src/test_app_app.erl b/utilities/opentelemetry_telemetry/_checkouts/test_app/src/test_app_app.erl deleted file mode 100644 index 5cb1987b..00000000 --- a/utilities/opentelemetry_telemetry/_checkouts/test_app/src/test_app_app.erl +++ /dev/null @@ -1,26 +0,0 @@ -%%%------------------------------------------------------------------- -%% @doc test_app public API -%% @end -%%%------------------------------------------------------------------- - --module(test_app_app). - --behaviour(application). - -%% Application callbacks --export([start/2, stop/1]). - -%%==================================================================== -%% API -%%==================================================================== - -start(_StartType, _StartArgs) -> - test_app_sup:start_link(). - -%%-------------------------------------------------------------------- -stop(_State) -> - ok. - -%%==================================================================== -%% Internal functions -%%==================================================================== diff --git a/utilities/opentelemetry_telemetry/_checkouts/test_app/src/test_app_sup.erl b/utilities/opentelemetry_telemetry/_checkouts/test_app/src/test_app_sup.erl deleted file mode 100644 index 5a66cf5a..00000000 --- a/utilities/opentelemetry_telemetry/_checkouts/test_app/src/test_app_sup.erl +++ /dev/null @@ -1,38 +0,0 @@ -%%%------------------------------------------------------------------- -%% @doc test_app top level supervisor. -%% @end -%%%------------------------------------------------------------------- - --module(test_app_sup). - --behaviour(supervisor). - -%% API --export([start_link/0]). - -%% Supervisor callbacks --export([init/1]). - --define(SERVER, ?MODULE). - -%%==================================================================== -%% API functions -%%==================================================================== - -start_link() -> - supervisor:start_link({local, ?SERVER}, ?MODULE, []). - -%%==================================================================== -%% Supervisor callbacks -%%==================================================================== - -%% Child :: #{id => Id, start => {M, F, A}} -%% Optional keys are restart, shutdown, type, modules. -%% Before OTP 18 tuples must be used to specify a child. e.g. -%% Child :: {Id,StartFunc,Restart,Shutdown,Type,Modules} -init([]) -> - {ok, {{one_for_all, 0, 1}, []}}. - -%%==================================================================== -%% Internal functions -%%==================================================================== diff --git a/utilities/opentelemetry_telemetry/_checkouts/test_child_app/.gitignore b/utilities/opentelemetry_telemetry/_checkouts/test_child_app/.gitignore deleted file mode 100644 index f1c45545..00000000 --- a/utilities/opentelemetry_telemetry/_checkouts/test_child_app/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -.rebar3 -_* -.eunit -*.o -*.beam -*.plt -*.swp -*.swo -.erlang.cookie -ebin -log -erl_crash.dump -.rebar -logs -_build -.idea -*.iml -rebar3.crashdump -*~ diff --git a/utilities/opentelemetry_telemetry/_checkouts/test_child_app/LICENSE b/utilities/opentelemetry_telemetry/_checkouts/test_child_app/LICENSE deleted file mode 100644 index 01f8d07e..00000000 --- a/utilities/opentelemetry_telemetry/_checkouts/test_child_app/LICENSE +++ /dev/null @@ -1,191 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright 2020, Bryan Naegele . - - 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. - diff --git a/utilities/opentelemetry_telemetry/_checkouts/test_child_app/README.md b/utilities/opentelemetry_telemetry/_checkouts/test_child_app/README.md deleted file mode 100644 index e8a41a39..00000000 --- a/utilities/opentelemetry_telemetry/_checkouts/test_child_app/README.md +++ /dev/null @@ -1,9 +0,0 @@ -test_child_app -===== - -An OTP application - -Build ------ - - $ rebar3 compile diff --git a/utilities/opentelemetry_telemetry/_checkouts/test_child_app/rebar.config b/utilities/opentelemetry_telemetry/_checkouts/test_child_app/rebar.config deleted file mode 100644 index 16cf5d5c..00000000 --- a/utilities/opentelemetry_telemetry/_checkouts/test_child_app/rebar.config +++ /dev/null @@ -1,7 +0,0 @@ -{erl_opts, [debug_info]}. -{deps, []}. - -{shell, [ - % {config, "config/sys.config"}, - {apps, [test_child_app]} -]}. diff --git a/utilities/opentelemetry_telemetry/_checkouts/test_child_app/rebar.lock b/utilities/opentelemetry_telemetry/_checkouts/test_child_app/rebar.lock deleted file mode 100644 index 57afcca0..00000000 --- a/utilities/opentelemetry_telemetry/_checkouts/test_child_app/rebar.lock +++ /dev/null @@ -1 +0,0 @@ -[]. diff --git a/utilities/opentelemetry_telemetry/_checkouts/test_child_app/src/test_child_app.app.src b/utilities/opentelemetry_telemetry/_checkouts/test_child_app/src/test_child_app.app.src deleted file mode 100644 index 54d3c137..00000000 --- a/utilities/opentelemetry_telemetry/_checkouts/test_child_app/src/test_child_app.app.src +++ /dev/null @@ -1,15 +0,0 @@ -{application, test_child_app, - [{description, "An OTP application"}, - {vsn, "0.1.0"}, - {registered, []}, - {mod, {test_child_app_app, []}}, - {applications, - [kernel, - stdlib - ]}, - {env,[]}, - {modules, []}, - - {licenses, ["Apache 2.0"]}, - {links, []} - ]}. diff --git a/utilities/opentelemetry_telemetry/_checkouts/test_child_app/src/test_child_app.erl b/utilities/opentelemetry_telemetry/_checkouts/test_child_app/src/test_child_app.erl deleted file mode 100644 index 73bcf990..00000000 --- a/utilities/opentelemetry_telemetry/_checkouts/test_child_app/src/test_child_app.erl +++ /dev/null @@ -1,27 +0,0 @@ --module(test_child_app). - --telemetry_event #{ - event => [test_child_app, extra_long, start], - description => <<"Emitted at the start of the handler">>, - measurements => <<"#{system_time => non_neg_integer()}">>, - metadata => <<"#{}">> - }. --telemetry_event #{ - event => [test_child_app, extra_long, stop], - description => <<"Emitted at the end of the handler">>, - measurements => <<"#{duration => non_neg_integer()}">>, - metadata => <<"#{}">> - }. - --telemetry_event #{ - event => [test_child_app, cache, hit], - description => <<"Emitted at the start of the handler">>, - measurements => <<"#{system_time => non_neg_integer()}">>, - metadata => <<"#{}">> - }. --telemetry_event #{ - event => [test_child_app, cache, miss], - description => <<"Emitted at the end of the handler">>, - measurements => <<"#{duration => non_neg_integer()}">>, - metadata => <<"#{}">> - }. diff --git a/utilities/opentelemetry_telemetry/_checkouts/test_child_app/src/test_child_app_app.erl b/utilities/opentelemetry_telemetry/_checkouts/test_child_app/src/test_child_app_app.erl deleted file mode 100644 index fbc806fe..00000000 --- a/utilities/opentelemetry_telemetry/_checkouts/test_child_app/src/test_child_app_app.erl +++ /dev/null @@ -1,26 +0,0 @@ -%%%------------------------------------------------------------------- -%% @doc test_child_app public API -%% @end -%%%------------------------------------------------------------------- - --module(test_child_app_app). - --behaviour(application). - -%% Application callbacks --export([start/2, stop/1]). - -%%==================================================================== -%% API -%%==================================================================== - -start(_StartType, _StartArgs) -> - test_child_app_sup:start_link(). - -%%-------------------------------------------------------------------- -stop(_State) -> - ok. - -%%==================================================================== -%% Internal functions -%%==================================================================== diff --git a/utilities/opentelemetry_telemetry/_checkouts/test_child_app/src/test_child_app_sup.erl b/utilities/opentelemetry_telemetry/_checkouts/test_child_app/src/test_child_app_sup.erl deleted file mode 100644 index b3df3914..00000000 --- a/utilities/opentelemetry_telemetry/_checkouts/test_child_app/src/test_child_app_sup.erl +++ /dev/null @@ -1,38 +0,0 @@ -%%%------------------------------------------------------------------- -%% @doc test_child_app top level supervisor. -%% @end -%%%------------------------------------------------------------------- - --module(test_child_app_sup). - --behaviour(supervisor). - -%% API --export([start_link/0]). - -%% Supervisor callbacks --export([init/1]). - --define(SERVER, ?MODULE). - -%%==================================================================== -%% API functions -%%==================================================================== - -start_link() -> - supervisor:start_link({local, ?SERVER}, ?MODULE, []). - -%%==================================================================== -%% Supervisor callbacks -%%==================================================================== - -%% Child :: #{id => Id, start => {M, F, A}} -%% Optional keys are restart, shutdown, type, modules. -%% Before OTP 18 tuples must be used to specify a child. e.g. -%% Child :: {Id,StartFunc,Restart,Shutdown,Type,Modules} -init([]) -> - {ok, {{one_for_all, 0, 1}, []}}. - -%%==================================================================== -%% Internal functions -%%==================================================================== diff --git a/utilities/opentelemetry_telemetry/mix.exs b/utilities/opentelemetry_telemetry/mix.exs index 8853edb1..613fb063 100644 --- a/utilities/opentelemetry_telemetry/mix.exs +++ b/utilities/opentelemetry_telemetry/mix.exs @@ -44,7 +44,7 @@ defmodule OpentelemetryTelemetry.MixProject do dep when is_atom(dep) -> {dep, ">= 0.0.0"} end) |> Enum.concat([ - {:dialyxir, "~> 1.1", only: [:dev, :test], runtime: false}, + {:dialyxir, "~> 1.3.0", only: [:dev, :test], runtime: false}, {:ex_doc, "~> 0.29", only: :dev, runtime: false}, {:opentelemetry, "~> 1.0", only: [:dev, :test]}, {:opentelemetry_exporter, "~> 1.0", only: [:dev, :test]} diff --git a/utilities/opentelemetry_telemetry/mix.lock b/utilities/opentelemetry_telemetry/mix.lock index 5df8a123..004c9f14 100644 --- a/utilities/opentelemetry_telemetry/mix.lock +++ b/utilities/opentelemetry_telemetry/mix.lock @@ -3,25 +3,25 @@ "chatterbox": {:hex, :ts_chatterbox, "0.13.0", "6f059d97bcaa758b8ea6fffe2b3b81362bd06b639d3ea2bb088335511d691ebf", [:rebar3], [{:hpack, "~>0.2.3", [hex: :hpack_erl, repo: "hexpm", optional: false]}], "hexpm", "b93d19104d86af0b3f2566c4cba2a57d2e06d103728246ba1ac6c3c0ff010aa7"}, "cmark": {:hex, :cmark, "0.9.0", "c0e673019e125eb5878b6c5610af919d737e881369e0cd2247c89e767f42c029", [:make, :mix], [{:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "0cfb4d8888bc801f2decc23eee3b3b756b682dff976d15a46861a596fdb00079"}, "ctx": {:hex, :ctx, "0.6.0", "8ff88b70e6400c4df90142e7f130625b82086077a45364a78d208ed3ed53c7fe", [:rebar3], [], "hexpm", "a14ed2d1b67723dbebbe423b28d7615eb0bdcba6ff28f2d1f1b0a7e1d4aa5fc2"}, - "dialyxir": {:hex, :dialyxir, "1.2.0", "58344b3e87c2e7095304c81a9ae65cb68b613e28340690dfe1a5597fd08dec37", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "61072136427a851674cab81762be4dbeae7679f85b1272b6d25c3a839aff8463"}, + "dialyxir": {:hex, :dialyxir, "1.3.0", "fd1672f0922b7648ff9ce7b1b26fcf0ef56dda964a459892ad15f6b4410b5284", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "00b2a4bcd6aa8db9dcb0b38c1225b7277dca9bc370b6438715667071a304696f"}, "earmark": {:hex, :earmark, "1.4.5", "62ffd3bd7722fb7a7b1ecd2419ea0b458c356e7168c1f5d65caf09b4fbdd13c8", [:mix], [], "hexpm", "b7d0e6263d83dc27141a523467799a685965bf8b13b6743413f19a7079843f4f"}, - "earmark_parser": {:hex, :earmark_parser, "1.4.29", "149d50dcb3a93d9f3d6f3ecf18c918fb5a2d3c001b5d3305c926cddfbd33355b", [:mix], [], "hexpm", "4902af1b3eb139016aed210888748db8070b8125c2342ce3dcae4f38dcc63503"}, + "earmark_parser": {:hex, :earmark_parser, "1.4.35", "437773ca9384edf69830e26e9e7b2e0d22d2596c4a6b17094a3b29f01ea65bb8", [:mix], [], "hexpm", "8652ba3cb85608d0d7aa2d21b45c6fad4ddc9a1f9a1f1b30ca3a246f0acc33f6"}, "elixir_make": {:hex, :elixir_make, "0.6.0", "38349f3e29aff4864352084fc736fa7fa0f2995a819a737554f7ebd28b85aaab", [:mix], [], "hexpm", "d522695b93b7f0b4c0fcb2dfe73a6b905b1c301226a5a55cb42e5b14d509e050"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, - "ex_doc": {:hex, :ex_doc, "0.29.0", "4a1cb903ce746aceef9c1f9ae8a6c12b742a5461e6959b9d3b24d813ffbea146", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "f096adb8bbca677d35d278223361c7792d496b3fc0d0224c9d4bc2f651af5db1"}, + "ex_doc": {:hex, :ex_doc, "0.30.6", "5f8b54854b240a2b55c9734c4b1d0dd7bdd41f71a095d42a70445c03cf05a281", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "bd48f2ddacf4e482c727f9293d9498e0881597eae6ddc3d9562bd7923375109f"}, "gproc": {:hex, :gproc, "0.8.0", "cea02c578589c61e5341fce149ea36ccef236cc2ecac8691fba408e7ea77ec2f", [:rebar3], [], "hexpm", "580adafa56463b75263ef5a5df4c86af321f68694e7786cb057fd805d1e2a7de"}, "grpcbox": {:hex, :grpcbox, "0.16.0", "b83f37c62d6eeca347b77f9b1ec7e9f62231690cdfeb3a31be07cd4002ba9c82", [:rebar3], [{:acceptor_pool, "~>1.0.0", [hex: :acceptor_pool, repo: "hexpm", optional: false]}, {:chatterbox, "~>0.13.0", [hex: :ts_chatterbox, repo: "hexpm", optional: false]}, {:ctx, "~>0.6.0", [hex: :ctx, repo: "hexpm", optional: false]}, {:gproc, "~>0.8.0", [hex: :gproc, repo: "hexpm", optional: false]}], "hexpm", "294df743ae20a7e030889f00644001370a4f7ce0121f3bbdaf13cf3169c62913"}, "hpack": {:hex, :hpack_erl, "0.2.3", "17670f83ff984ae6cd74b1c456edde906d27ff013740ee4d9efaa4f1bf999633", [:rebar3], [], "hexpm", "06f580167c4b8b8a6429040df36cc93bba6d571faeaec1b28816523379cbb23a"}, "makeup": {:hex, :makeup, "1.1.0", "6b67c8bc2882a6b6a445859952a602afc1a41c2e08379ca057c0f525366fc3ca", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "0a45ed501f4a8897f580eabf99a2e5234ea3e75a4373c8a52824f6e873be57a6"}, - "makeup_elixir": {:hex, :makeup_elixir, "0.16.0", "f8c570a0d33f8039513fbccaf7108c5d750f47d8defd44088371191b76492b0b", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "28b2cbdc13960a46ae9a8858c4bebdec3c9a6d7b4b9e7f4ed1502f8159f338e7"}, - "makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"}, - "nimble_parsec": {:hex, :nimble_parsec, "1.2.3", "244836e6e3f1200c7f30cb56733fd808744eca61fd182f731eac4af635cc6d0b", [:mix], [], "hexpm", "c8d789e39b9131acf7b99291e93dae60ab48ef14a7ee9d58c6964f59efb570b0"}, + "makeup_elixir": {:hex, :makeup_elixir, "0.16.1", "cc9e3ca312f1cfeccc572b37a09980287e243648108384b97ff2b76e505c3555", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "e127a341ad1b209bd80f7bd1620a15693a9908ed780c3b763bccf7d200c767c6"}, + "makeup_erlang": {:hex, :makeup_erlang, "0.1.2", "ad87296a092a46e03b7e9b0be7631ddcf64c790fa68a9ef5323b6cbb36affc72", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "f3f5a1ca93ce6e092d92b6d9c049bcda58a3b617a8d888f8e7231c85630e8108"}, + "nimble_parsec": {:hex, :nimble_parsec, "1.3.1", "2c54013ecf170e249e9291ed0a62e5832f70a476c61da16f6aac6dca0189f2af", [:mix], [], "hexpm", "2682e3c0b2eb58d90c6375fc0cc30bc7be06f365bf72608804fb9cffa5e1b167"}, "opentelemetry": {:hex, :opentelemetry, "1.3.1", "f0a342a74379e3540a634e7047967733da4bc8b873ec9026e224b2bd7369b1fc", [:rebar3], [{:opentelemetry_api, "~> 1.2.2", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "de476b2ac4faad3e3fe3d6e18b35dec9cb338c3b9910c2ce9317836dacad3483"}, "opentelemetry_api": {:hex, :opentelemetry_api, "1.2.2", "693f47b0d8c76da2095fe858204cfd6350c27fe85d00e4b763deecc9588cf27a", [:mix, :rebar3], [{:opentelemetry_semantic_conventions, "~> 0.2", [hex: :opentelemetry_semantic_conventions, repo: "hexpm", optional: false]}], "hexpm", "dc77b9a00f137a858e60a852f14007bb66eda1ffbeb6c05d5fe6c9e678b05e9d"}, "opentelemetry_exporter": {:hex, :opentelemetry_exporter, "1.6.0", "f4fbf69aa9f1541b253813221b82b48a9863bc1570d8ecc517bc510c0d1d3d8c", [:rebar3], [{:grpcbox, ">= 0.0.0", [hex: :grpcbox, repo: "hexpm", optional: false]}, {:opentelemetry, "~> 1.3", [hex: :opentelemetry, repo: "hexpm", optional: false]}, {:opentelemetry_api, "~> 1.2", [hex: :opentelemetry_api, repo: "hexpm", optional: false]}, {:tls_certificate_check, "~> 1.18", [hex: :tls_certificate_check, repo: "hexpm", optional: false]}], "hexpm", "1802d1dca297e46f21e5832ecf843c451121e875f73f04db87355a6cb2ba1710"}, "opentelemetry_semantic_conventions": {:hex, :opentelemetry_semantic_conventions, "0.2.0", "b67fe459c2938fcab341cb0951c44860c62347c005ace1b50f8402576f241435", [:mix, :rebar3], [], "hexpm", "d61fa1f5639ee8668d74b527e6806e0503efc55a42db7b5f39939d84c07d6895"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, - "telemetry": {:hex, :telemetry, "1.1.0", "a589817034a27eab11144ad24d5c0f9fab1f58173274b1e9bae7074af9cbee51", [:rebar3], [], "hexpm", "b727b2a1f75614774cff2d7565b64d0dfa5bd52ba517f16543e6fc7efcc0df48"}, + "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, "telemetry_registry": {:hex, :telemetry_registry, "0.3.0", "6768f151ea53fc0fbca70dbff5b20a8d663ee4e0c0b2ae589590e08658e76f1e", [:mix, :rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "492e2adbc609f3e79ece7f29fec363a97a2c484ac78a83098535d6564781e917"}, "tls_certificate_check": {:hex, :tls_certificate_check, "1.19.0", "c76c4c5d79ee79a2b11c84f910c825d6f024a78427c854f515748e9bd025e987", [:rebar3], [{:ssl_verify_fun, "~> 1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "4083b4a298add534c96125337cb01161c358bb32dd870d5a893aae685fd91d70"}, } diff --git a/utilities/opentelemetry_telemetry/rebar.config b/utilities/opentelemetry_telemetry/rebar.config index 32251bf2..faba560b 100644 --- a/utilities/opentelemetry_telemetry/rebar.config +++ b/utilities/opentelemetry_telemetry/rebar.config @@ -1,8 +1,7 @@ {erl_opts, [debug_info]}. {deps, [ {opentelemetry_api, "~> 1.0"}, - {telemetry, "~> 1.0"}, - {telemetry_registry, "~> 0.3.0"} + {telemetry, "~> 1.0"} ]}. {project_plugins, [covertool, @@ -17,8 +16,7 @@ {test, [{erl_opts, [nowarn_export_all]}, {deps, [ {opentelemetry, "~> 1.0"}, - {opentelemetry_exporter, "~> 1.0"}, - {test_app, "~> 0.1"} + {opentelemetry_exporter, "~> 1.0"} ]}, {paths, ["src", "test/support"]}, {ct_opts, [{ct_hooks, [cth_surefire]}]}]}]}. diff --git a/utilities/opentelemetry_telemetry/rebar.lock b/utilities/opentelemetry_telemetry/rebar.lock index 76b89f40..c1686a9c 100644 --- a/utilities/opentelemetry_telemetry/rebar.lock +++ b/utilities/opentelemetry_telemetry/rebar.lock @@ -1,14 +1,16 @@ {"1.2.0", -[{<<"opentelemetry_api">>,{pkg,<<"opentelemetry_api">>,<<"1.0.2">>},0}, - {<<"telemetry">>,{pkg,<<"telemetry">>,<<"1.1.0">>},0}, - {<<"telemetry_registry">>,{pkg,<<"telemetry_registry">>,<<"0.3.0">>},0}]}. +[{<<"opentelemetry_api">>,{pkg,<<"opentelemetry_api">>,<<"1.2.2">>},0}, + {<<"opentelemetry_semantic_conventions">>, + {pkg,<<"opentelemetry_semantic_conventions">>,<<"0.2.0">>}, + 1}, + {<<"telemetry">>,{pkg,<<"telemetry">>,<<"1.2.1">>},0}]}. [ {pkg_hash,[ - {<<"opentelemetry_api">>, <<"91353EE40583B1D4F07D7B13ED62642ABFEC6AAA0D8A2114F07EDAFB2DF781C5">>}, - {<<"telemetry">>, <<"A589817034A27EAB11144AD24D5C0F9FAB1F58173274B1E9BAE7074AF9CBEE51">>}, - {<<"telemetry_registry">>, <<"6768F151EA53FC0FBCA70DBFF5B20A8D663EE4E0C0B2AE589590E08658E76F1E">>}]}, + {<<"opentelemetry_api">>, <<"693F47B0D8C76DA2095FE858204CFD6350C27FE85D00E4B763DEECC9588CF27A">>}, + {<<"opentelemetry_semantic_conventions">>, <<"B67FE459C2938FCAB341CB0951C44860C62347C005ACE1B50F8402576F241435">>}, + {<<"telemetry">>, <<"68FDFE8D8F05A8428483A97D7AAB2F268AAFF24B49E0F599FAA091F1D4E7F61C">>}]}, {pkg_hash_ext,[ - {<<"opentelemetry_api">>, <<"2A8247F85C44216B883900067478D59955D11E58E5CFCA7C884CD4F203ACE3AC">>}, - {<<"telemetry">>, <<"B727B2A1F75614774CFF2D7565B64D0DFA5BD52BA517F16543E6FC7EFCC0DF48">>}, - {<<"telemetry_registry">>, <<"492E2ADBC609F3E79ECE7F29FEC363A97A2C484AC78A83098535D6564781E917">>}]} + {<<"opentelemetry_api">>, <<"DC77B9A00F137A858E60A852F14007BB66EDA1FFBEB6C05D5FE6C9E678B05E9D">>}, + {<<"opentelemetry_semantic_conventions">>, <<"D61FA1F5639EE8668D74B527E6806E0503EFC55A42DB7B5F39939D84C07D6895">>}, + {<<"telemetry">>, <<"DAD9CE9D8EFFC621708F99EAC538EF1CBE05D6A874DD741DE2E689C47FEAFED5">>}]} ]. diff --git a/utilities/opentelemetry_telemetry/src/opentelemetry_telemetry.app.src b/utilities/opentelemetry_telemetry/src/opentelemetry_telemetry.app.src index 5bfd5a8c..69018592 100644 --- a/utilities/opentelemetry_telemetry/src/opentelemetry_telemetry.app.src +++ b/utilities/opentelemetry_telemetry/src/opentelemetry_telemetry.app.src @@ -7,8 +7,7 @@ stdlib, opentelemetry, opentelemetry_api, - telemetry, - telemetry_registry + telemetry ]}, {env,[]}, {modules, []}, diff --git a/utilities/opentelemetry_telemetry/src/otel_telemetry.erl b/utilities/opentelemetry_telemetry/src/otel_telemetry.erl index 9c1beee2..b4671a5a 100644 --- a/utilities/opentelemetry_telemetry/src/otel_telemetry.erl +++ b/utilities/opentelemetry_telemetry/src/otel_telemetry.erl @@ -1,5 +1,6 @@ -module(otel_telemetry). +-include_lib("kernel/include/logger.hrl"). -include_lib("opentelemetry_api/include/opentelemetry.hrl"). -export([ @@ -8,9 +9,8 @@ handle_event/4, start_telemetry_span/4, set_current_telemetry_span/2, - end_telemetry_span/2, - trace_application/1, - trace_application/2]). + end_telemetry_span/2 +]). -type telemetry_span_ctx() :: opentelemetry:span_ctx(). -type parent_span_ctx() :: opentelemetry:span_ctx(). @@ -25,16 +25,6 @@ init(Application) -> init(_Application, _Opts) -> ok. -trace_application(Application) -> - trace_application(Application, []). - -trace_application(Application, _Opts) -> - _ = telemetry_registry:discover_all([Application]), - AllEvents = telemetry_registry:list_events(), - SpannableEvents = telemetry_registry:spannable_events(), - _ = register_event_handlers(SpannableEvents, AllEvents), - ok. - -spec start_telemetry_span(atom(), opentelemetry:span_name(), telemetry:event_metadata(), otel_span:start_opts()) -> opentelemetry:span_ctx(). start_telemetry_span(TracerId, SpanName, EventMetadata, Opts) -> ParentCtx = otel_tracer:current_span_ctx(), @@ -125,29 +115,6 @@ pop_from_tracer_stack(TracerId) -> SpanCtxSet end. -register_event_handlers(SpannableEvents, AllEvents) -> - lists:foldl(fun ({Prefix, Suffixes}, Handlers) -> - TracerId = tracer_id_for_events(Prefix, Suffixes, AllEvents), - NewHandlers = [attach_handler(Prefix, Suffix, TracerId) - || Suffix <- Suffixes], - NewHandlers ++ Handlers - end, - [], - SpannableEvents). - -attach_handler(Prefix, Suffix, TracerId) -> - Event = Prefix ++ [Suffix], - SpanName = list_to_binary(lists:join("_", - [atom_to_binary(Segment, utf8) || Segment <- Prefix])), - Config = #{tracer_id => TracerId, type => Suffix, span_name => SpanName}, - Handler = fun ?MODULE:handle_event/4, - telemetry:attach({?MODULE, Event}, Event, Handler, Config). - -tracer_id_for_events(Prefix, [Suffix | _], AllEvents) -> - Event = Prefix ++ [Suffix], - {Event, Module, _Metadata} = lists:keyfind(Event, 1, AllEvents), - Module. - handle_event(_Event, _Measurements, Metadata, diff --git a/utilities/opentelemetry_telemetry/test/otel_telemetry_SUITE.erl b/utilities/opentelemetry_telemetry/test/otel_telemetry_SUITE.erl index f7865161..2cb91553 100644 --- a/utilities/opentelemetry_telemetry/test/otel_telemetry_SUITE.erl +++ b/utilities/opentelemetry_telemetry/test/otel_telemetry_SUITE.erl @@ -24,17 +24,13 @@ end_per_suite(_Config) -> init_per_testcase(_, Config) -> {ok, _} = application:ensure_all_started(telemetry), - {ok, _} = application:ensure_all_started(telemetry_registry), - {ok, _} = application:ensure_all_started(test_app), {ok, _} = application:ensure_all_started(opentelemetry_telemetry), otel_batch_processor:set_exporter(otel_exporter_pid, self()), - otel_telemetry:trace_application(test_app), + attach_event_handlers(), Config. end_per_testcase(_, Config) -> application:stop(telemetry), - application:stop(telemetry_registry), - application:stop(test_app), application:stop(opentelemetry_telemetry), application:stop(opentelemetry), Config. @@ -42,9 +38,9 @@ end_per_testcase(_, Config) -> telemetry_span_handling(_Config) -> SpanCtx1 = ?start_span(<<"span-1">>), ?set_current_span(SpanCtx1), - _Result = test_app:handler(ok), + _Result = handler(ok), ?assertMatch(SpanCtx1, ?current_span_ctx), - try test_app:handler(raise_exception) of + try handler(raise_exception) of _ -> ok catch error:badarg -> ok @@ -72,11 +68,80 @@ successful_span_listener(Name) -> exception_span_listener(Name) -> receive - {span, #span{name=Name,events=Events,status=Status,parent_span_id=ParentId,span_id=Id}} -> - ?assertEqual({status,error,<<"badarg">>}, Status), + {span, #span{name=Name,events=Events,status={status,error,Reason},parent_span_id=ParentId,span_id=Id} = Span} -> + ?assertEqual(<<"badarg">>, Reason), ?assertEqual(1, erlang:length(otel_events:list(Events))), {Id, ParentId} after 5000 -> error(timeout) end. + +handler(Args) -> + _ = telemetry:span( + [test_app, handler], + #{}, + fun() -> + case Args of + raise_exception -> + binary_to_list("heh, already a list"); + _ -> {nested_span(), #{}} + end + end). + +nested_span() -> + _ = telemetry:span( + [test_app, nested_span], + #{}, + fun() -> + {ok, #{}} + end). + +-define(TRACER_ID, ?MODULE). + +attach_event_handlers() -> + Events = [ + [test_app, handler, start], + [test_app, handler, stop], + [test_app, handler, exception], + [test_app, nested_span, start], + [test_app, nested_span, stop], + [test_app, nested_span, exception] + ], + telemetry:attach_many(otel_telemetry_test_handlers, Events, fun ?TRACER_ID:handle_event/4, #{}). + +handle_event([test_app, handler, start], _, Meta, _) -> + otel_telemetry:start_telemetry_span(?TRACER_ID, <<"test_app_handler">>, Meta, #{}); + +handle_event([test_app, handler, stop], _, Meta, _) -> + otel_telemetry:set_current_telemetry_span(?TRACER_ID, Meta), + otel_telemetry:end_telemetry_span(?TRACER_ID, Meta); + +handle_event([test_app, handler, exception], _, Meta, _) -> + Ctx = otel_telemetry:set_current_telemetry_span(?TRACER_ID, Meta), + #{ + kind := Kind, + reason := Reason, + stacktrace := Stacktrace + } = Meta, + otel_span:record_exception(Ctx, Kind, Reason, Stacktrace, []), + otel_span:set_status(Ctx, opentelemetry:status(?OTEL_STATUS_ERROR, atom_to_binary(Reason))), + otel_telemetry:end_telemetry_span(?TRACER_ID, Meta); + +handle_event([test_app, nested_span, start], _, Meta, _) -> + otel_telemetry:start_telemetry_span(?TRACER_ID, <<"test_app_nested_span">>, Meta, #{}); + +handle_event([test_app, nested_span, stop], _, Meta, _) -> + otel_telemetry:set_current_telemetry_span(?TRACER_ID, Meta), + otel_telemetry:end_telemetry_span(?TRACER_ID, Meta); + +handle_event([test_app, nested_span, exception], _, Meta, _) -> + Ctx = otel_telemetry:set_current_telemetry_span(?TRACER_ID, Meta), + #{ + kind := Kind, + reason := Reason, + stacktrace := Stacktrace + } = Meta, + otel_span:set_status(Ctx, opentelemetry:status(?OTEL_STATUS_ERROR, <<"">>)), + otel_span:record_exception(Ctx, Kind, Reason, Stacktrace, []), + otel_telemetry:end_telemetry_span(?TRACER_ID, Meta).