Feature Idea: APM Deployment Markers in Insights Dashboards

That’s sad! To be interested in something that is on the plate for more than 3 years already :frowning:

This would help a lot!

1 Like

Hey @spetran - as I said, this is absolutely something we are hoping to implement, sorry I don’t have a timeline to share yet, but your feedback & +1 have been logged.

This works for our needs:

We make a call to Insights Collector API with payload:

[{  
  "eventType": "deployment",
  "appId": 12345,
  "appName": "myapp-dev",
  "changelog": "Made some cool changes",
  "description": "A cool deployment description",
  "user": "myUser",
  "revision": "test-revision"
}]

Then we query with NRQL:

SELECT filter(rate(count(*), 1 second), WHERE appName like '%myapp-dev' and eventType() = 'Transaction') as 'throughput (req/sec)', filter(rate(count(*), 1 hour), WHERE appName like '%myapp-dev' AND eventType() = 'deployment') as 'deployments/hr' FROM Transaction,deployment TIMESERIES 5 minutes SINCE 1 day ago EXTRAPOLATE

This gives a chart like this:

Other services we run have higher throughputs, so we can adjust the rate unit for deployments (1 second, 1 minute, etc) to make them appear on the chart.

5 Likes

This is a great workaround @dbunker :smiley:

This is a great solution @dbunker , but what I am unable to figure out is how do I get the deployment data and push it to the insights automatically?

Is it something like -

  • Use the APM api to get a list of deployments.
  • Use the insights API, and with the previous data as payload push the event
  • Get the event data and show it in a dashboard chart?

Though, I still can’t understand how do I automate it? Any info on it @RyanVeitch

Hey @inderpartap.cheema -

I imagine this is actually added as part of the deploy workflow.

The ideal scenario is for this to show up in insights at the exact time the deploy happens, so, if you are pulling the data from the APM API, and then augmenting it for the Insights API, you’ll need to backdate the timestamp.

Instead, I’d suggest working this into the deploy tooling, many CI/CD tools will allow you to integrate an API call into your build and deploy pipeline. With this you can have the deployment tooling send in the Insights API call to post the data suggested by @dbunker.

As @RyanVeitch mentioned, we just implement it at the CI/CD level. In our deployment pipeline, we have one step immediately following the production deploy that uses a docker container to make 2 curl calls: one to the Insights collector API and the other to the APM api. The payload is similar for the two calls, though not the same, so it’s pretty easy to massage the payload and send it again. This way we don’t need to backdate timestamps or anything.

1 Like

Thanks for confirming that @dbunker - Hope it helps you out @inderpartap.cheema, let us know :smiley:

For anyone still following this Feature Idea this is currently on the roadmap. Can’t give specifics around release but will be coming soon :slight_smile:

5 Likes