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.
Unreleased section should follow Release Toolkit.
- Upgrade go to 1.23.2
- Upgrade integrations SDK so the interval is variable and allows intervals up to 5 minutes
- Updated golang version to v1.23.1
- Fetch the
SoftLimitBytes
metric from docker inspect for cgroups-v2. - Fetch the
CPUShares
metric from docker inspect for cgroups-v2. - Swap related metrics when called from cGroups were incorrect due to an overflow whenever the FuzzMemory metric was not calculated properly.
- Updated github.com/docker/docker to v26.1.5+incompatible
- Updated github.com/docker/docker to v24.1.4+incompatible
- Updated golang.org/x/net to 0.23.0
- Updated github.com/docker/docker to v25.0.6+incompatible
- Updated golang version to v1.22.5
- Updated golang version to v1.22.3
- Updated golang version to v1.22.2
- Updated github.com/docker/docker to v25.0.5+incompatible
- Memory swap metrics
memorySwapUsageBytes
,memorySwapOnlyUsageBytes
andmemorySwapLimitUsagePercent
will not be sent if not present. This will mainly affect when the integration is running in Fargate where these metrics were being reported with incorrect values (#224) - Blkio metrics
TotalReadCount
,TotalWriteCount
,TotalReadBytes
andTotalWriteBytes
will not be sent if not present. Before they were being reported with value0
(#221)
- Updated logrus dependency to remediate vulnerability
- Add metrics collection from DockerAPI to support nodes with cgroup V2 on ECS clusters.
- Updated github.com/aws/aws-sdk-go to v1.50.36 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.50.31 - Changelog 🔗
- Allow the path (TMP_DIR) to store container_cpus.json (cache file) to be modified by the agent
- Metrics fetch is no longer executed for exited containers that was causing an error log line (
failed to open file: /proc/0/cgroup
) for each exited container. Exited containers samples are still being reported as they were, as far as the TTL (24hs by default) has not expired.
- Updated github.com/aws/aws-sdk-go to v1.50.21 - Changelog 🔗
- Updated github.com/newrelic/infra-integrations-sdk to v3.8.2+incompatible
- Updated github.com/aws/aws-sdk-go to v1.50.11 - Changelog 🔗
- Updated github.com/docker/docker to v24.0.9+incompatible
- Updated golang version to v1.21.6
- Updated github.com/aws/aws-sdk-go to v1.50.6 - Changelog 🔗
- Updated github.com/docker/docker to v24.0.8+incompatible
- Updated github.com/aws/aws-sdk-go to v1.50.1 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.49.21 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.49.17 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.49.13 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.49.9 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.48.4 - Changelog 🔗
- Make metric cache used to calculate deltas configurable
- Updated github.com/aws/aws-sdk-go to v1.48.1 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.47.5 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.47.2 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.47.1 - Changelog 🔗
- Updated golang version to 1.21
- Updated github.com/aws/aws-sdk-go to v1.46.7 - Changelog 🔗
- Updated github.com/docker/docker to v24.0.7+incompatible
- Updated github.com/aws/aws-sdk-go to v1.46.2 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.45.26 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.45.24 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.45.20 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.45.16 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.45.12 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.45.7 - Changelog 🔗
- Updated github.com/docker/docker to v24.0.6+incompatible
- Updated github.com/aws/aws-sdk-go to v1.45.2 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.44.333 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.44.328 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.44.323 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.44.318 - Changelog 🔗
- Updated golang to v1.20.7
- Updated github.com/aws/aws-sdk-go to v1.44.313 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.44.307 - Changelog 🔗
- Updated github.com/docker/docker to v24.0.5+incompatible
- Updated github.com/aws/aws-sdk-go to v1.44.300 - Changelog 🔗
- Use positive rate metric type for all rate kind metrics (perSecond). This will prevent to report negative values on this metrics caused by restarts.
- Updated github.com/aws/aws-sdk-go to v1.44.299 - Changelog 🔗
- Updated github.com/docker/docker to v24.0.4+incompatible
- Updated github.com/aws/aws-sdk-go to v1.44.290 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.44.289 - Changelog 🔗
- Updated go to 1.20
- github.com/docker/distribution has been updated from v2.8.1+incompatible to v2.8.2+incompatible to fix a vulnerability
- Updated github.com/aws/aws-sdk-go to v1.44.269 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.44.270 - Changelog 🔗
- Updated github.com/docker/docker to v24.0.2+incompatible
- Updated github.com/aws/aws-sdk-go to v1.44.271 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.44.268 - Changelog 🔗
- Updated github.com/docker/docker to v23.0.6+incompatible
- Updated github.com/docker/docker to v24
- Updated golang to v1.20
- Updated github.com/aws/aws-sdk-go to v1.44.265 - Changelog 🔗
- Updated github.com/stretchr/testify to v1.8.3 - Changelog 🔗
- Updated github.com/aws/aws-sdk-go to v1.44.266 - Changelog 🔗
- Updated github.com/docker/docker to v24.0.1+incompatible
- Updated github.com/aws/aws-sdk-go to v1.44.267 - Changelog 🔗
- Updated github.com/docker/docker to v23.0.3+incompatible
- Updated github.com/aws/aws-sdk-go to v1.44.264 - Changelog 🔗
- Skip reporting container attributes with empty values (#152)
- Bump dependencies
- bump go version and dependencies (#143)
- bump dependencies:
- bump dependencies (#139):
- Log a Warning in case there is a
nil
from Fargate by @kang-makes in #135
- bump dependencies (#133):
- Stop honoring cgroupPath and cgroupDriver arguments.
- Adding support for cgroups v2.
- Bump go version and use go modules.
- Bump infra-integration-sdk version.
- All swap memory has been removed from
memoryUsageBytes
andmemoryUsageLimitPercent
.memoryUsageBytes
shows non swap memory only andmemoryUsageLimitPercent
is calculated as a percentage ofmemoryUsageBytes
overmemorySizeLimitBytes
- Adds
cpuShares
metrics - Adds memory swap metrics:
memoryKernelUsageBytes
memorySwapUsageBytes
memorySwapOnlyUsageBytes
memorySwapLimitBytes
memorySwapLimitUsagePercent
memorySoftLimitBytes
- Adds storage driver metrics:
storageDataUsedBytes
storageDataAvailableBytes
storageDataTotalBytes
storageDataUsagePercent
storageMetadataUsedBytes
storageMetadataAvailableBytes
storageMetadataTotalBytes
storageMetadataUsagePercent
- Adding support for Task metadata endpoint v4 to include networking metrics for fargate
- Bundles the correct config file into the tarball docker-config.yml (ready for infra agent bundle)
- Includes arm binaries using GHA pipeline.
- Fixed a bug where an error type assertion would not work correctly and "exited" containers could still be reported by nri-docker even after their TTL has passed.
- Fixed a bug where an error type assertion would not work correctly and "exited" containers could still be reported by nri-docker even after their TTL has passed.
- nri-docker will no longer report containers that have been stopped for more than 24 hours.
This value can be configured using the
EXITED_CONTAINERS_TTL
environment variable using any value that can be parsed into atime.Duration
, i.e.1s
,1m
,1h
. To replicate the old behavior of the integration, set this environment variable to0
(zero).
- Add metadata to samples from Fargate (#50)
- Set the correct integration Version
- Fixed bug in detection of non-running container in ECS environments.
- Added support for cgroup driver 'systemd'.
- Add enable condition in config for when the FARGATE env var is
"true"
.
- BETA support for Fargate container metrics. For more information or access request please contact mfuentes@newrelic.com.
- Metric
memoryUsageLimitPercent
that reports the usage of the container memory as a percentage of the limit. If there is no limit defined, this metric is not reported. - Renamed metrics:
processCount
tothreadCount
;processCountLimit
tothreadCountLimit
- Metric
memorySizeLimitBytes
is not reported anymore when there is no such limit (before it was reported as0
)
- This version fixes missing Docker container metrics improving Linux cgroup path detection. This issue was caused by cgroup not being mounted in the standard path
/sys/fs/cgroup
. This version can now discover cgroup different from the standard path. - The auto-detected Cgroup path can be overwritten by the new config parameter 'cgroup_path'.
- Note: cgroup PIDs (process and thread count) are not available on Kernel versions lower than 4.3 see support. Therefore column threadCount won't be available for these systems.--
Updated execution conditions for integrations v4.
Updated agent dependency to newrelic-infra >= 1.8.0 Updated config files to agent integrations format v4. Fixed target OS to Linux.
Replaced entrypoint from /usr/bin/newrelic-infra to /usr/bin/newrelic-infra-service
- Renamed the integration executable from nr-docker to nri-docker in order to be consistent with the package naming. Important Note: if you have any security module rules (eg. SELinux), alerts or automation that depends on the name of this binary, these will have to be updated.
- Added support for custom Cgroup parent paths
- Removing
hostname: localhost
metric field, since the Agent now won't need it to decorate it with the proper hostname. - Fixed a probrem in the cgroups library that prevented most metrics to be fetched in containers without Swap accounting in cgroups.
- Initial version