All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
0.37.0 - 2024-11-12
- Upgrade
opentelemetry
dependencies tov0.27
. - Upgrade
thiserror
dependency tov2
.
0.36.0 - 2024-10-15
- Upgrade
opentelemetry
dependencies tov0.26
. Thanks, sezna@.
0.35.0 - 2024-09-16
- Upgrade
opentelemetry
dependencies tov0.25
.
0.34.0 - 2024-07-20
- Upgrade
opentelemetry
andopentelemetry_sdk
tov0.24
. - Upgrade
opentelemetry-http
tov0.13
. - Upgrade
opentelemetry-semantic-conventions
tov0.16
. - Upgrade
http
to1
andreqwest
to0.12
. - Add
trace
feature and enabletrace
,logs
andmetrics
by default. This mimicks opentelemetry.
0.33.0 - 2024-06-09
- Add support for exporting logs, e.g. using one of the
opentelemetry-appender-*
crates. - Events with the
level
attribute set toDEBUG
, not convert to a severity level "Verbose" (previously "Information"). This was done to align with Application Insights exporters in other languages.
0.32.0 - 2024-05-15
- Upgrade
opentelemetry
andopentelemetry_sdk
tov0.23
. - Upgrade
opentelemetry-http
tov0.12
. - Upgrade
opentelemetry-semantic-conventions
tov0.15
.- This removes and deprecates some attributes. All removed/deprecated attributes continue to work. Consider migrating to the new attributes in the future. See "Deprecated attributes" in opentelemetry-application-insights documentation for suitable replacements.
- Set tags Cloud role and Cloud role instance also from resource attributes
k8s.{deployment,replicaset,statefulset,job,cronjob,daemonset,pod}.name
. This matches the behavior of the JS exporter. - Remove option to configure temporality seletor (
with_temporality_selector
). Application Insights supports delta temporality only as defined in the spec. - Add support for
ExponentialHistogram
export. - Add support for span link export.
0.31.0 - 2024-05-09
-
Change how the tags Could role, Cloud role instance, Application version and Internal SDK version are extracted:
- Spans no longer extract them from span attributes. They still extract them from resource attributes. And they newly extract them also from instrumentation library attributes.
- Events newly extract them from resource and instrumentation library attributes.
In addition metrics no longer extract the tag Authenticated user id from the enduser.id attribute.
-
Set tags Device id and Device model based on resource attributes
device.id
anddevice.model.name
. This matches the behavior of the JS exporter.
0.30.0 - 2024-03-08
- Upgrade
opentelemetry
andopentelemetry_sdk
tov0.22
. - Upgrade
opentelemetry-http
tov0.11
. - Remove
surf-client
feature, sinceopentelemetry-http/surf
has been removed. - Upgrade
opentelemetry-semantic-conventions
tov0.14
. - Change
opentelemetry_application_insights::attrs::*
fromopentelemetry::Key
to&str
. This matches the change inopentelemetry-semantic-conventions
. - Upgrade
sysinfo
tov0.30
.
0.29.0 - 2023-11-18
- Upgrade to
v0.21.0
ofopentelemetry
andopentelemetry_sdk
. - Upgrade to
v0.10.0
ofopentelemetry-http
. - Upgrade to
v0.13.0
ofopentelemetry-semantic-conventions
. - Improve live metrics performance (#64).
0.28.0 - 2023-10-22
- Support for Live Metrics.
0.27.0 - 2023-08-06
- Support configuration via connection string (see #54).
- Configuration via instrumentation key is now deprecated.
0.26.0 - 2023-08-05
- Upgrade to
v0.20.0
ofopentelemetry
. - Upgrade to
v0.12.0
ofopentelemetry-semantic-conventions
.- This removes and deprecates some attributes. All removed/deprecated attributes continue to work. Consider migrating to the new attributes in the future. See "Deprecated attributes" in opentelemetry-application-insights documentation for suitable replacements.
0.25.0 - 2023-03-26
- Upgrade to
v0.19.0
ofopentelemetry
. - Upgrade to
v0.11.0
ofopentelemetry-semantic-conventions
.- This removes
trace::HTTP_HOST
andtrace::NET_PEER_IP
. The keys"http.host"
and"net.peer.ip"
continue to work with this crate. Consider migrating to"host.request.header.host"
and"net.peer.name"
(trace::NET_PEER_NAME
) /"net.sock.peer.addr"
(trace::NET_SOCK_PEER_ADDR
).
- This removes
0.24.0 - 2023-03-11
- Map
level
attribute (set bytracing::Level
) to Application Insights severity level (see #57).
0.23.0 - 2022-11-12
- Support sending
customEvents
(see #53).
0.22.0 - 2022-09-17
- Upgrade to
v0.18.0
ofopentelemetry
.
0.21.0 - 2022-07-02
- New feature
reqwest-client-vendored-tls
, which makes it easy to usereqwest
with itsnative-tls-vendored
feature.
0.20.0 - 2022-03-20
- Use gzip compression (
Content-Encoding: gzip
) forPOST /v2/track
HTTP request.
0.19.0 - 2022-01-23
- Upgrade to
v0.17.0
ofopentelemetry
.
0.18.0 - 2021-09-12
- Add support for metrics.
- Take span resource into account for tags. Before a
service.name
in the resource would not populate the Cloud role name tag. Now it does.
0.17.0 - 2021-08-08
- Upgrade to
v0.16.0
ofopentelemetry
.
0.16.0 - 2021-06-17
- Upgrade to
v0.15.0
ofopentelemetry
.
0.15.0 - 2021-05-24
-
Upgrade to
v0.14.0
ofopentelemetry
. Thanks to @notheotherben. -
Use HttpClient trait from
opentelemetry-http
.
0.14.0 - 2021-05-03
- Add
with_service_name
function to pipeline builder, which makes it easier to specify a service name (translated to Cloud Role Name in Application Insights). Thanks to @isobelhooper and @johnchildren.
0.13.0 - 2021-03-25
-
Upgrade to
v0.13.0
ofopentelemetry
.The choice of simple/batch span processor as well as the async runtime now needs to be made in Rust code:
- If you previously used
.install()
with thereqwest::blocking::Client
, you should now use.install_simple()
. - If you previously used
.install()
with thereqwest::Client
and the Tokio runtime, you should now use.install_batch(opentelemetry::runtime::Tokio)
as well as enable to opentelemetry/rt-tokio feature. - If you previously used
.install()
with thesurf::Client
and the async-std runtime, you should now use.install_batch(opentelemetry::runtime::AsyncStd)
as well as enable to opentelemetry/rt-async-std feature.
- If you previously used
0.12.0 - 2021-03-19
- New feature flags for using
rustls
with thereqwest
clients instead ofnativetls
0.11.0 - 2021-01-22
- Upgrade to
v0.12.0
ofopentelemetry
.
0.10.0 - 2020-12-29
- Upgrade to
v0.11.0
ofopentelemetry
.
0.9.0 - 2020-12-23
- Constants for span attribute keys, which you can use to set any of the Application nsights conrext properties (tags).
0.8.0 - 2020-12-08
- Support for specifying any Application Insights context property (tag) by using span attributes with the internal names of the tags. E.g. the attribute
ai.device.oemName
sets the client device OEM name context. Thanks to @twitchax for suggesting and implementing this.
0.7.1 - 2020-12-03
- Request and remote dependency durations were off by a factor of 10 (#23). Thanks to @twitchax for finding and fixing the bug.
0.7.0 - 2020-12-02
- Made ingestion endpoint configurable (#20).
0.6.0 - 2020-11-10
- Upgrade to
v0.10.0
ofopentelemetry
.
0.5.0 - 2020-10-18
- Added
PipelineBuilder
, a more ergonomic way to configure OpenTelemetry with the Application Insights span exporter. - Added support for semantic conventions for exceptions. Events with the name "exception" are now converted into Exception telemetry.
- Upgrade to
v0.9.0
ofopentelemetry
. This makes span exports use async/await. In order to support different runtimes, you now need to specify a compatible HTTP client.
0.4.0 - 2020-08-14
-
Upgrade to
v0.8.0
ofopentelemetry
. -
Removed
.with_application_version
function on exporter. Please use theservice.version
resource attribute instead. See semantic conventions for about the attribute.sdk::Provider::builder() .with_config(sdk::Config { resource: Arc::new(sdk::Resource::new(vec![ KeyValue::new("service.version", concat!("semver:", env!("CARGO_PKG_VERSION"))), ])), ..sdk::Config::default() }) .build();
-
Internal SDK Version is now filled from the resource attributes
telemetry.sdk.name
andtelemetry.sdk.version
.
0.3.0 - 2020-08-09
- Automatically truncate any values that are too long for Application Insight.
- Request Url is now additionally constructed from
http.scheme
,http.host
andhttp.target
if all three are available. - Request Source is now filled from
http.client_ip
ornet.peer.ip
. - Dependency Target now includes the port from
net.peer.port
and falls back tonet.peer.ip
if the name is not available. - Dependency Type now additionally looks into
rpc.system
.
- Update attribute mapping based on new semantic conventions. The Dependency Target is now filled from
db.name
(beforedb.instance
) and the Dependency Type is now filled fromdb.system
(beforedb.type
). Thanks @johnchildren. - Cloud Role is now filled from the resource attributes
service.namespace
andservice.name
(before it was autimatically filled from the current process executable name). This follows the OpenTelemetry specification and gives users of the exporter more flexibility. - Cloud Role Instance is now filled from the resource attribute
service.instance.id
(before it was filled automatically from the machine's hostname). This follows the OpenTelemetry specification and gives users of the exporter more flexibility.
0.2.0 - 2020-08-05
- Upgrade to
v0.7.0
ofopentelemetry
.
0.1.2 - 2020-07-25
- Send span resource attributes as part of request/dependency/trace custom properties. Thanks @tot0.
0.1.1 - 2020-06-23
- Populate the cloud role tag from the current process name.
- Aligned attribute mapping with Azure Monitor exporter for Python and JavaScript. Most notably,
INTERNAL
spans now create a Dependency. - Populate cloud role instance tag from machine hostname instead of using the
net.host.name
attribute.
- Support events with empty messages. They now get the default message
"<no message>"
.
- First release.