Improved
We just released V2 of our Prometheus exporter. This new version brings extra gauges
, counters
and histograms
so you can get more accurate Checkly data in your preferred Prometheus setup and dashboarding tool.
Three of highlights our new metric types are:
The checkly_browser_check_web_vitals_seconds
histogram, which allows you to get a breakdown of your web vitals for a browser checks.
The checkly_api_check_timing_seconds
histogram, which breaks down the timing phases of your API Check, e.g. DNS time, TTFB etc.
The checkly_time_to_ssl_expiry_seconds
gauge, which tracks when your SSL certificate will expire in seconds.
We also added some PromQL examples to show case how you might use these new metrics. For example, the below query calculates the average for each Web Vital type (TTFB, FCP, LCP etc.) for a specific browser check.
sum by(type) (rate(checkly_browser_check_web_vitals_seconds_sum{name="Check Name"}[30m])) / sum by(type) (rate(checkly_browser_check_web_vitals_seconds_count{name="Check Name"}[30m]))
Check out the full docs right here.
This feature is available on all paid plans.
Questions or feedback? Join our Slack community.
New
We just released a new version of the Checkly CLI that supports TypeScript 5.x. This solves this GitHub issue raised by our users. This is the only major change in this release.
To get started with the Checkly CLI just run
npm create checkly
Or upgrade your existing installation with
npm install checkly@latest
Check the full release note on GitHub here
Questions or feedback? Join our Slack community.
Improved
Sometimes the stars align, and sometimes they just miss each other by a few days! We just snuck in the very latest @playwright/test
version 1.38.1 into the 2023.09 runtime we released last week.
The Playwright team made a great video of the updates in this release.
The rest of the packages in 2023.09 stay the same. See the previous changelog entry for more details.
New
Our latest runtime, 2023.09, is now GA.
The new runtime includes a number of new libraries, plus updates to Playwright, Node, and more.
New libraries:
dotenv - Improved support for managing sensitive data in your checks.
ethers - Test & monitor your ethereum blockchain products and services.
prisma - OSS ORM
@t3-oss/env-nextjs - environment variable validation
@xmldom/xmldom - W3C DOM for Node.js
xml-encryption - W3C XML Encryption implementation for node.js
zod - Typesafe schema validation
Updated libraries:
Playwright
Node 18.x
@faker-js/faker
@google-cloud/local-auth
@opentelemetry/api
@opentelemetry/sdk-trace-base
aws4
axios
date-fns
expect
google-auth-library
googleapis
jose
jsdom
jsonwebtoken
otpauth
twilio
xml-crypto
Check all the details in our runtime specs documentation.
New
We are excited to announce that Heartbeat checks are now in General Availability.
Increase reliability and confidence by effortlessly monitoring your backup jobs, database updates, imports, and other recurring tasks with our latest check type.
With GA, heartbeat checks have an updated UI and are fully supported on Checkly, including in our analytics API, dashboards, maintenance windows, and more.
Create private or public dashboards for your users or teams to showcase your backend status. Plan your upgrades without worrying about false alerts, and import run data into your analytics platform.
Heartbeat checks await pings from external sources, with each check having a unique URL the job pings when successful. This ping URL be can be added to a wide variety of jobs. Here is a simple example of adding a heartbeat ping to any bash cron job scheduled in your crontab:
# run_backup.sh
PING_URL=https://api.checklyhq.com/heartbeats/ping/4e4e488a-76bc-46b0-9a55-7799997ed139
curl -m 5 --retry 3 $PING_URL;
And if you are using node:
const axios = require('axios');
axios.get('https://ping.checklyhq.com/87c05896-3b7d-49ae-83ff-5e81323a54c4').then(resp => {
console.log(resp.data);
})
Unsure of how to add a ping event to your scheduled job? Our documentation covers multiple programming and scripting languages, getting you started in no time.
Check out the documentation how to create heartbeat checks with our CLI and Terraform provider.
If you have requests for guides or additional examples, join our Slack community and let us know.
Heartbeat checks are available on the following plans:
Team with a quota of 15 Heartbeat checks.
Enterprise with a custom quota.
New
You can now define three distinct retry strategies for API checks, browser checks and check groups. Each strategy, Fixed, Linear or Exponential has different backoff characteristics to cover different retrying scenarios.
You can also toggle if retries are performed from the initial failing location, or from a different location picked from your configured check locations.
With this new feature, you can reduce alert fatigue and increase the signal vs. noise level of alert messages.
Check out our updated documentation for more details.
You can configure your retry strategies also via:
This feature is available on all plans except for plans marked as "deprecated"
Questions or feedback? Join our Slack community.
New
CLI version v4.1.0 just came out and provides support for the new smart retry strategies we just released. Adding a retry strategy is simple. Just use the RetryStrategyBuilder
and add it to any ApiCheck
, BrowserCheck
or CheckGroup
construct.
import { ApiCheck, RetryStrategyBuilder } from 'checkly/constructs'
new ApiCheck('retrying-check-01', {
name: 'ACME API production',
retryStrategy: RetryStrategyBuilder.linearStrategy({
baseBackoffSeconds: 30,
maxRetries: 4,
sameRegion: false,
}),
request: {
method: 'GET',
url: 'https://danube-web.shop/api/books'
}
})
Read more about smart retries and retry strategies on our changelog.
Further enhancements and fixes include:
HeartbeatCheck
's now print their ping URL to the console on creation.
HeartbeatCheck
's are now part of our advanced example repo.
Various bugfixes on timeouts and typos.
To get started with the Checkly CLI just run
npm create checkly
Or upgrade your existing installation with
npm install checkly@latest
Check the full release note on GitHub here
Questions or feedback? Join our Slack community.
New
Our latest runtime, 2023.09, is now available in beta.
The new runtime includes a number of new libraries, plus updates to Playwright, Node, and more.
New libraries:
dotenv - Improved support for managing sensitive data in your checks.
ethers - Test & monitor your ethereum blockchain products and servivces.
prisma - OSS ORM
@xmldom/xmldom - W3C DOM for Node.js
xml-encryption - W3C XML Encryption implementation for node.js
Updated libraries:
Playwright
Node 18.x
@faker-js/faker
@google-cloud/local-auth
@opentelemetry/api
@opentelemetry/sdk-trace-base
aws4
axios
date-fns
expect
google-auth-library
googleapis
jose
jsdom
jsonwebtoken
otpauth
twilio
xml-crypto
To try out the new runtime, enable it in the labs menu to start using it in your checks.
Questions or feedback? Join our Slack community.
New
Checkly now supports both IPv4 and IPv6, also called dual stack. This means that we can reach both IPv4 and IPv6 addresses from our check runtime.
Note that for most workloads (API checks, browser checks, etc.) the IPv6 stack is automatically preferred over IPv4 if available. This means that if your endpoint is reachable over IPv6, we will use that. If not, we will fall back to IPv4.
For Browser checks, you can instruct the Chrome instance to actually prefer IPv4. Have a look at our docs for a code example on how to achieve that.
Note that browser checks still using Puppeteer are not running on our dual stack infra as we are deprecating Puppeteer support.
IPv6 is automatically enabled and available on all plans.
Questions or feedback? Join our Slack community.
Improved
We have updated our default user agent to use Chrome
instead of HeadlessChrome
.
This makes check runs more closely replicate the actual user experience and reduces the likelihood of checks being blocked by bot filters or firewalls.
The new user agent uses the following format: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.53 Safari/537.36 (Checkly, https://www.checklyhq.com)"
If you have used the user agent definition to allowlist browser checks, please replace HeadlessChrome
with Chrome
in any firewall settings.
For more information, see our documentation.
Questions or feedback? Join our Slack community.