Skip to content

Commit

Permalink
add semantic conventions for heroku (#3075)
Browse files Browse the repository at this point in the history
Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>
  • Loading branch information
atoulme and arminru committed Feb 27, 2023
1 parent 0d90816 commit 361c949
Show file tree
Hide file tree
Showing 6 changed files with 62 additions and 0 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ release.

- Move X-Ray Env Variable propagation to span link instead of parent for AWS Lambda.
([#3166](https://github.com/open-telemetry/opentelemetry-specification/pull/3166))
- Add heroku resource semantic conventions.
[#3075](https://github.com/open-telemetry/opentelemetry-specification/pull/3075)
- BREAKING: Rename faas.execution to faas.invocation_id
([#3209](https://github.com/open-telemetry/opentelemetry-specification/pull/3209))
- BREAKING: Change faas.max_memory units to Bytes instead of MB
Expand Down
3 changes: 3 additions & 0 deletions semantic_conventions/resource/cloud.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ groups:
- id: 'gcp'
value: 'gcp'
brief: 'Google Cloud Platform'
- id: 'heroku'
value: 'heroku'
brief: 'Heroku Platform as a Service'
- id: 'ibm_cloud'
value: 'ibm_cloud'
brief: 'IBM Cloud'
Expand Down
25 changes: 25 additions & 0 deletions semantic_conventions/resource/cloud_provider/heroku.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
groups:
- id: heroku
prefix: heroku
type: resource
brief: >
Heroku dyno metadata
attributes:
- id: release.creation_timestamp
type: string
brief: >
Time and date the release was created
examples: [ '2022-10-23T18:00:42Z' ]
requirement_level: optional
- id: release.commit
type: string
brief: >
Commit hash for the current release
examples: [ 'e6134959463efd8966b20e75b913cafe3f5ec' ]
requirement_level: optional
- id: app.id
type: string
brief: >
Unique identifier for the application
examples: [ '2daa2797-e42b-4624-9322-ec3f968df4da' ]
requirement_level: optional
1 change: 1 addition & 0 deletions specification/resource/semantic_conventions/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,3 +176,4 @@ Valid cloud providers are:
- [Google Cloud Platform](https://cloud.google.com/) (`gcp`)
- [Microsoft Azure](https://azure.microsoft.com/) (`azure`)
- [Tencent Cloud](https://www.tencentcloud.com/) (`tencent_cloud`)
- [Heroku dyno](./cloud_provider/heroku.md)
1 change: 1 addition & 0 deletions specification/resource/semantic_conventions/cloud.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
| `aws` | Amazon Web Services |
| `azure` | Microsoft Azure |
| `gcp` | Google Cloud Platform |
| `heroku` | Heroku Platform as a Service |
| `ibm_cloud` | IBM Cloud |
| `tencent_cloud` | Tencent Cloud |

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Heroku

**Status**: [Experimental](../../../document-status.md)

**type:** `heroku`

**Description:** [Heroku dyno metadata]

<!-- semconv heroku -->
| Attribute | Type | Description | Examples | Requirement Level |
|---|---|---|---|---|
| `heroku.release.creation_timestamp` | string | Time and date the release was created | `2022-10-23T18:00:42Z` | Optional |
| `heroku.release.commit` | string | Commit hash for the current release | `e6134959463efd8966b20e75b913cafe3f5ec` | Optional |
| `heroku.app.id` | string | Unique identifier for the application | `2daa2797-e42b-4624-9322-ec3f968df4da` | Optional |
<!-- endsemconv -->

**Mapping:**

| Dyno metadata environment variable | Resource attribute |
|------------------------------------|-------------------------------------|
| `HEROKU_APP_ID` | `heroku.app.id` |
| `HEROKU_APP_NAME` | `service.name` |
| `HEROKU_DYNO_ID` | `service.instance.id` |
| `HEROKU_RELEASE_CREATED_AT` | `heroku.release.creation_timestamp` |
| `HEROKU_RELEASE_VERSION` | `service.version` |
| `HEROKU_SLUG_COMMIT` | `heroku.release.commit` |

Additionally, [the `cloud.provider` resource attribute MUST be set to `heroku`](../cloud.md).

[Heroku dyno metadata]: https://devcenter.heroku.com/articles/dyno-metadata

0 comments on commit 361c949

Please sign in to comment.