Skip to content

Commit ad1a872

Browse files
iskerSuperQ
andauthored
Release 0.4.0 (#103)
* Release 0.4 - Update changelog with user-facing changes since the last release. - Remove "experimental" language from README. Describe compatibility guarantees in the face of a potentially capricious execution environment. - Fix up labels documentation. Signed-off-by: Ian Kerins <[email protected]> * Reformat changelog Co-authored-by: Ben Kochie <[email protected]> Signed-off-by: Ian Kerins <[email protected]> * Set changelog release date, update VERSION Signed-off-by: Ian Kerins <[email protected]> --------- Signed-off-by: Ian Kerins <[email protected]> Signed-off-by: Ian Kerins <[email protected]> Co-authored-by: Ben Kochie <[email protected]>
1 parent bd5a46e commit ad1a872

File tree

3 files changed

+46
-15
lines changed

3 files changed

+46
-15
lines changed

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
## 0.4.0 / 2025-03-19
2+
3+
Breaking Changes:
4+
5+
Many metric names, labels, and semantics have changed to improve correctness.
6+
See the [README](./README.md#example-output) for current /metrics output.
7+
8+
* [CHANGE] Overhaul all metrics. #81
9+
* [ENHANCEMENT] Add a counter for container restarts #87
10+
* [ENHANCEMENT] Add a flag to disable standard client_golang exporter metrics
11+
#82
12+
113
## 0.3.0 / 2024-10-13
214

315
* [CHANGE] Use upstream ecs-agent types for deserializing API responses #75

README.md

Lines changed: 33 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@
33
[![CircleCI](https://circleci.com/gh/prometheus-community/ecs_exporter/tree/main.svg?style=svg)](https://circleci.com/gh/prometheus-community/ecs_exporter/tree/main)
44
[![Go package](https://pkg.go.dev/badge/github.com/prometheus-community/ecs_exporter?status.svg)](https://pkg.go.dev/github.com/prometheus-community/ecs_exporter)
55

6-
🚧 🚧 🚧 This repo is still work in progress and is subject to change.
7-
8-
This repo contains a Prometheus exporter for
9-
Amazon Elastic Container Service (ECS) that publishes
10-
ECS task infra metrics in Prometheus format.
6+
This repo contains a Prometheus exporter for Amazon Elastic Container Service
7+
(ECS) that publishes [ECS task infra
8+
metrics](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-metadata-endpoint-v4.html)
9+
in the [Prometheus exposition
10+
formats](https://prometheus.io/docs/instrumenting/exposition_formats/).
1111

1212
Run the following container as a sidecar on ECS tasks:
1313

1414
```
15-
quay.io/prometheuscommunity/ecs-exporter:latest
15+
quay.io/prometheuscommunity/ecs-exporter:v0.4.0
1616
```
1717

1818
An example Fargate task definition that includes the container
@@ -24,27 +24,46 @@ To add ECS exporter to your existing ECS task:
2424
1. Click on "Create new revision".
2525
1. Scroll down to "Container definitions" and click on "Add container".
2626
1. Set "ecs-exporter" as container name.
27-
1. Copy the container image URL from above.
27+
1. Copy the container image URL from above. (Use the tag for the [latest
28+
release](https://github.com/prometheus-community/ecs_exporter/releases).)
2829
1. Add tcp/9779 as a port mapping.
2930
1. Click on "Add" to return back to task definition page.
3031
1. Click on "Create" to create a new revision.
3132

3233
By default, it publishes Prometheus metrics on ":9779/metrics". The exporter in this repo can be a useful complementary sidecar for the scenario described in [this blog post](https://aws.amazon.com/blogs/opensource/metrics-collection-from-amazon-ecs-using-amazon-managed-service-for-prometheus/). Adding this sidecar to the ECS task definition would export task-level metrics in addition to the custom metrics described in the blog.
3334

34-
The sidecar process is also supported on [AWS App Runner](https://aws.amazon.com/apprunner/)
35-
and can be used to publish infra metrics in Prometheus format
36-
from App Runner services.
35+
## Compatibility guarantees
36+
All metrics exported by ecs_exporter are sourced from the [ECS task metadata
37+
API](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-metadata-endpoint-v4.html)
38+
accessible from within every ECS task. AWS can make, and on occasion [has
39+
made](https://github.com/prometheus-community/ecs_exporter/issues/74#issuecomment-2395293862),
40+
unannounced (or at least unversioned) breaking changes to the data served from
41+
this API, especially the container-level stats served from the `/task/stats`
42+
endpoint. Metrics emitted by ecs_exporter may spontaneously break as a result,
43+
in which case we may need to make breaking changes to ecs_exporter to keep up.
44+
45+
In light of these conditions, we currently do not have plans to cut a 1.0
46+
release. When necessary, breaking changes will continue to land in minor version
47+
releases. The [release
48+
notes](https://github.com/prometheus-community/ecs_exporter/releases) will
49+
document any breaking changes as they come.
3750

3851
## Labels
3952

4053
### On task-level metrics
41-
None.
54+
55+
None. You may
56+
[join](https://grafana.com/blog/2021/08/04/how-to-use-promql-joins-for-more-effective-queries-of-prometheus-metrics-at-scale/)
57+
to `ecs_task_metadata_info` to add task-level metadata (such as the task ARN) to
58+
task-level or any other metrics emitted by ecs_exporter.
4259

4360
### On container-level metrics
4461

45-
* **container_name**: Name of the container (as in the ECS task definition) associated with a metric.
46-
* **interface**: Network interface device associated with the metric. Only
47-
available for several network metrics.
62+
* **container_name**: Name of the container (as in the ECS task definition) associated with the metric.
63+
64+
### On network-level metrics
65+
66+
* **interface**: Network interface device associated with the metric.
4867

4968
## Example output
5069

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.3.0
1+
0.4.0

0 commit comments

Comments
 (0)