Skip to content

Commit 93fe9a3

Browse files
LeartScpiemontese
andauthored
Don't set Logger metadata (#69)
* Don't set Logger metadata The OpenTelemetry API/SDK does that consistently for us since 1.1.0. * update CHANGELOG * update CHANGELOG Co-authored-by: Cristiano Piemontese <[email protected]>
1 parent 3245cec commit 93fe9a3

File tree

4 files changed

+34
-43
lines changed

4 files changed

+34
-43
lines changed

CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
## [1.1.0] - 2022-09-21
11+
12+
### Changed
13+
14+
* Teleplug does not set opentelemetry-related Logger metadata anymore, because
15+
The OpenTelemetry API/SDK itself [does that automatically since 1.1.0](https://github.com/open-telemetry/opentelemetry-erlang/pull/394).
16+
If you're upgrading to Teleplug 1.1.0, it is therefore recommended to also upgrade to OpenTelemetry API 1.1.0
17+
18+
[Unreleased]: https://github.com/primait/teleplug/compare/1.1.0...HEAD
19+
[1.1.0]: https://github.com/primait/teleplug/releases/tag/1.1.0

lib/teleplug.ex

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,11 @@ defmodule Teleplug do
3333

3434
Tracer.set_current_span(new_ctx)
3535

36-
set_logger_metadata(new_ctx)
37-
3836
Conn.register_before_send(conn, fn conn ->
3937
Tracer.set_attribute("http.status_code", conn.status)
4038
Tracer.end_span()
4139

4240
Tracer.set_current_span(parent_ctx)
43-
set_logger_metadata(parent_ctx)
4441
conn
4542
end)
4643
end
@@ -116,28 +113,4 @@ defmodule Teleplug do
116113
client
117114
end
118115
end
119-
120-
defp set_logger_metadata(:undefined), do: Logger.metadata(trace_id: nil, span_id: nil, dd: nil)
121-
122-
defp set_logger_metadata(span_ctx) do
123-
trace_id = :otel_span.trace_id(span_ctx)
124-
span_id = :otel_span.span_id(span_ctx)
125-
126-
Logger.metadata(
127-
trace_id: trace_id,
128-
span_id: span_id,
129-
dd: [
130-
trace_id: datadog_trace_id(trace_id),
131-
span_id: datadog_span_id(span_id)
132-
]
133-
)
134-
end
135-
136-
# converts trace_id to a datadog understandable format (taking the 2nd half of the 128 bits string)
137-
defp datadog_trace_id(trace_id) do
138-
<<_::64, datadog_trace_id::64>> = <<trace_id::128>>
139-
to_string(datadog_trace_id)
140-
end
141-
142-
defp datadog_span_id(span_id), do: to_string(span_id)
143116
end

mix.exs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ defmodule Teleplug.MixProject do
22
use Mix.Project
33

44
@source_url "https://github.com/primait/teleplug"
5-
@version "1.0.1"
5+
@version "1.1.0"
66

77
def project do
88
[
@@ -25,7 +25,7 @@ defmodule Teleplug.MixProject do
2525
# Run "mix help deps" to learn about dependencies.
2626
defp deps do
2727
[
28-
{:opentelemetry_api, "~> 1.0"},
28+
{:opentelemetry_api, "~> 1.1"},
2929
{:plug, "~> 1.11"},
3030
{:telemetry, "~> 0.4 or ~> 1.0.0"}
3131
] ++ dev_deps()
@@ -62,6 +62,7 @@ defmodule Teleplug.MixProject do
6262
defp docs do
6363
[
6464
extras: [
65+
"CHANGELOG.md": [title: "Changelog"],
6566
"LICENSE.md": [title: "License"],
6667
"README.md": [title: "Overview"]
6768
],

test/teleplug_test.exs

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -45,21 +45,19 @@ defmodule TeleplugTest do
4545
end)
4646
end
4747

48-
assert_receive {:span, span(attributes: attributes)}, 1_000
48+
assert_receive {:span, span(attributes: attributes_record)}, 1_000
49+
assert {:attributes, _, _, _, attributes} = attributes_record
4950

50-
assert Enum.all?(
51-
[
52-
{"http.status_code", nil},
53-
{"http.method", "GET"},
54-
{"http.route", "/"},
55-
{"http.target", "/"},
56-
{"http.host", ""},
57-
{"http.scheme", :http},
58-
{"http.client_ip", "127.0.0.1"},
59-
{"net.host.port", 80}
60-
],
61-
&(&1 in elem(attributes, 4))
62-
)
51+
assert %{
52+
"http.status_code" => nil,
53+
"http.method" => "GET",
54+
"http.route" => "/",
55+
"http.target" => "/",
56+
"http.host" => "",
57+
"http.scheme" => :http,
58+
"http.client_ip" => "127.0.0.1",
59+
"net.host.port" => 80
60+
} = attributes
6361
end
6462

6563
def flush_mailbox do

0 commit comments

Comments
 (0)