Weekly
Get a weekly performance report for your apps
Every Monday you see throughput, error rate and response time per app, next to the week before.
- Runs
- Weekly
- Apps
- New Relic
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every Monday at 9am email me last week's throughput, error rate and average response time for each of my New Relic apps, compared with the previous week.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Performance rarely collapses overnight. Response times creep up by 15 milliseconds with each release, an error rate rises from 0.4 to 0.9 percent after a dependency update, and throughput changes as marketing campaigns come and go. New Relic holds all of it, but looking requires opening each application and choosing a time range, so the slow drift is only noticed when a customer complains or a quarterly review asks for numbers.
Every week ClickRuntime runs an NRQL query covering the last seven days for throughput, error rate and average response time per application, runs the same query for the week before, and emails a table showing both with the change. A service that got slower stands out right away.
It is a good habit for teams who ship often and want evidence of how releases affect users.
What you get out of it
Gradual slowdowns are caught early
A response time that rises each week shows up as a trend in the email. You investigate while the cause is one or two releases back, not after fifteen of them.
Releases are judged by their effect
Seeing error rate before and after the week of a big deploy gives a factual view of its impact. The team learns which kinds of changes tend to hurt performance.
One table covers every application
Instead of opening each service in turn, you read one table with all of them. A slow internal API that nobody watched becomes visible next to the customer-facing site. A slow internal API that nobody watched becomes visible beside the customer-facing site.
Conversations with leadership have numbers
When someone asks whether the platform got faster, you point to weeks of throughput and latency. Budget requests for performance work can be supported with the data. Budget requests for performance work can then be backed by weeks of data, not impressions.
Capacity decisions follow demand
Throughput by week shows growth that will need more instances before the next peak. You scale ahead of load, not during an incident. You add instances ahead of the next seasonal peak instead of reacting during an incident, and you can show why.
How it works
What happens, step by step
Every Monday, ClickRuntime looks up the last seven days of New Relic data for each of your apps.
It measures requests per minute, error rate and average response time, and gets the same figures for the week before.
You get one email with a line per app showing this week next to last week, like "412 rpm (was 388)".
Before it runs live
- Connect New Relic
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other New Relic steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, notify
ACCOUNT_ID = 1234567
NRQL = ("SELECT rate(count(*), 1 minute) AS rpm, percentage(count(*), WHERE error IS true) AS errors, "
"average(duration) * 1000 AS ms FROM Transaction FACET appName SINCE 1 week ago COMPARE WITH 1 week ago")
@on_trigger
def run(event):
query = '{ actor { account(id: %d) { nrql(query: "%s") { results } } } }' % (ACCOUNT_ID, NRQL)
resp = http.post("https://api.newrelic.com/graphql", json={"query": query},
headers={"API-Key": credentials.secret("NEW_RELIC_USER_KEY")})
resp.raise_for_status()
rows = resp.json()["data"]["actor"]["account"]["nrql"]["results"]
by_app = {}
for r in rows:
by_app.setdefault(r["appName"], {})[r["comparison"]] = r
lines = []
for app, c in sorted(by_app.items()):
cur, prev = c.get("current", {}), c.get("previous", {})
lines.append(f"{app}: {cur.get('rpm', 0):.0f} rpm (was {prev.get('rpm', 0):.0f}), "
f"errors {cur.get('errors', 0):.2f}% (was {prev.get('errors', 0):.2f}%), "
f"{cur.get('ms', 0):.0f} ms (was {prev.get('ms', 0):.0f} ms)")
notify.email_me("Weekly New Relic app performance", "\n".join(lines))
return {"apps": len(by_app)}FAQ
Common questions
Which metrics does it report?
How is the previous week compared?
Can it cover only certain applications?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Get a morning list of open alert issues
Each day starts with an email of the New Relic alert issues still open, sorted by priority.
See how it worksGet a Slack alert when error rate passes 2%
If your app's error rate climbs above your limit, #ops hears once, and again only after it recovers and spikes again.
See how it worksHear when a synthetic monitor starts failing
When one of your New Relic synthetic checks fails, you get one Slack message per monitor until it passes again.
See how it worksKeep exploring
Set up “Get a weekly performance report for your apps” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.