You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Feature request
Add runtime metrics collection into Application Signals.
## Description of changes:
1. Add JMX metrics template.
1. The JMX template is taken from
#817.
The template is updated with bug fixes and added with additional CPU
metrics. The author of the original PR is notified with the changes.
2. Introduce `CloudWatchTemporalitySelector` to set temporality of
Application Signals exporter to `alwaysDelta`.
3. Add `ScopeBasedPeriodicMetricReader` to copy metrics from
`io.opentelemetry.jmx` instrumentation scope to Application Signals
exporter.
4. Set `aws.local.service` into resource attributes.
## Result example
```
{
resource=Resource{
schemaUrl=https: //opentelemetry.io/schemas/1.21.0,
attributes={
aws.local.service="ec2-runtime-demo",
cloud.account.id="633750930120",
cloud.availability_zone="us-east-1a",
cloud.platform="aws_ec2",
cloud.provider="aws",
cloud.region="us-east-1",
host.arch="amd64",
host.id="i-03ff80a878a803e0e",
host.image.id="ami-0ae8f15ae66fe8cda",
host.name="ip-172-31-25-215.ec2.internal",
host.type="t2.medium",
os.description="Linux 6.1.102-108.177.amzn2023.x86_64",
os.type="linux",
process.command_args=[
/usr/lib/jvm/java-21-amazon-corretto.x86_64/bin/java,
-Dotel.instrumentation.micrometer.enabled=false,
-jar,
spring-petclinic-all-in-one.jar
],
process.executable.path="/usr/lib/jvm/java-21-amazon-corretto.x86_64/bin/java",
process.pid=445291,
process.runtime.description="Amazon.com Inc. OpenJDK 64-Bit Server VM 21.0.4+7-LTS",
process.runtime.name="OpenJDK Runtime Environment",
process.runtime.version="21.0.4+7-LTS",
service.name="ec2-runtime-demo",
service.version="3.1.0-SNAPSHOT",
telemetry.auto.version="1.33.0-aws-SNAPSHOT",
telemetry.sdk.language="java",
telemetry.sdk.name="opentelemetry",
telemetry.sdk.version="1.34.1"
}
},
instrumentationScopeInfo=InstrumentationScopeInfo{
name=io.opentelemetry.jmx,
version=null,
schemaUrl=null,
attributes={
}
},
name=jvm.gc.collections.elapsed,
description=Theapproximateaccumulatedcollectionelapsedtimeinmilliseconds,
unit=ms,
type=LONG_SUM,
data=ImmutableSumData{
points=[
ImmutableLongPointData{
startEpochNanos=1724126549515601332,
epochNanos=1724126609522082935,
attributes={
name="G1 Old Generation"
},
value=0,
exemplars=[
]
},
ImmutableLongPointData{
startEpochNanos=1724126549515601332,
epochNanos=1724126609522082935,
attributes={
name="G1 Concurrent GC"
},
value=49,
exemplars=[
]
},
ImmutableLongPointData{
startEpochNanos=1724126549515601332,
epochNanos=1724126609522082935,
attributes={
name="G1 Young Generation"
},
value=332,
exemplars=[
]
}
],
monotonic=true,
aggregationTemporality=CUMULATIVE
}
}
```
By submitting this pull request, I confirm that my contribution is made
under the terms of the Apache 2.0 license.
Copy file name to clipboardExpand all lines: appsignals-tests/contract-tests/src/test/java/software/amazon/opentelemetry/appsignals/test/base/ContractTestBase.java
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -79,6 +79,7 @@ public abstract class ContractTestBase {
Copy file name to clipboardExpand all lines: awsagentprovider/src/main/java/software/amazon/opentelemetry/javaagent/providers/AwsApplicationSignalsCustomizerProvider.java
Copy file name to clipboardExpand all lines: awsagentprovider/src/main/java/software/amazon/opentelemetry/javaagent/providers/AwsMetricAttributeGenerator.java
0 commit comments