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.

New metric types

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.

PromQL example


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.

September 28th 2023

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.

September 27th 2023

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.

September 26th 2023

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.

September 22nd 2023

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.

Getting started

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.

Looking for help?

Heartbeat checks are available on the following plans:

  • Team with a quota of 15 Heartbeat checks.

  • Enterprise with a custom quota.

September 4th 2023

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.

September 1st 2023

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.

September 1st 2023

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.

August 30th 2023

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.

August 24th 2023

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.

August 11th 2023

Get updates