CINXE.COM

<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><meta name="twitter:card" content="summary_large_image" data-next-head=""/><meta name="twitter:site" content="@appsignal" data-next-head=""/><meta name="twitter:creator" content="@AppSignal" data-next-head=""/><meta href="//d201zbfblqcbtj.cloudfront.net" rel="dns-prefetch" data-next-head=""/><meta content="7 days" name="revisit-after" data-next-head=""/><title data-next-head="">JavaScript front end error tracking | AppSignal APM</title><meta name="robots" content="index,follow" data-next-head=""/><meta name="description" content="The all-in-one APM: Error tracking, performance monitoring, event metrics, host metrics, alerts and much more. 30 day free trial!" data-next-head=""/><meta property="og:title" content="JavaScript front end error tracking" data-next-head=""/><meta property="og:description" content="The all-in-one APM: Error tracking, performance monitoring, event metrics, host metrics, alerts and much more. 30 day free trial!" data-next-head=""/><meta property="og:url" content="https://www.appsignal.com/javascript" data-next-head=""/><meta property="og:type" content="website" data-next-head=""/><meta property="og:image" content="https://blog.appsignal.com/api/og?title=JavaScript front end error tracking" data-next-head=""/><meta property="og:image:alt" content="JavaScript front end error tracking" data-next-head=""/><meta property="og:image:type" content="image/jpeg" data-next-head=""/><meta property="og:image:width" content="1200" data-next-head=""/><meta property="og:image:height" content="628" data-next-head=""/><meta property="og:locale" content="en" data-next-head=""/><meta property="og:site_name" content="AppSignal" data-next-head=""/><link rel="canonical" href="https://www.appsignal.com/javascript" data-next-head=""/><link rel="icon" href="/assets/favicon/favicon.svg" type="image/svg+xml"/><link rel="mask-icon" href="/assets/favicon/favicon.svg" color="#29A575"/><link rel="apple-touch-icon" href="/assets/favicon/apple-touch-icon.png"/><link rel="manifest" href="/assets/favicon/manifest.webmanifest"/><link rel="preload" href="/fonts/rubik-v12-latin-regular.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link rel="preload" href="/fonts/rubik-v12-latin-500.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><meta name="ahrefs-site-verification" content="eaeabe5fcccf5783b1b0c574c52a3306af55ea1ab27e5eed6405393ed63feae6"/><link rel="preload" href="/_next/static/css/61f5d1c2d0c5ddf9.css" as="style"/><link rel="stylesheet" href="/_next/static/css/61f5d1c2d0c5ddf9.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-d03093e8726bc5df.js" defer=""></script><script src="/_next/static/chunks/framework-fafc4c6e7de8e3ed.js" defer=""></script><script src="/_next/static/chunks/main-d6aedb9f4903de1c.js" defer=""></script><script src="/_next/static/chunks/pages/_app-edb2008707687478.js" defer=""></script><script src="/_next/static/chunks/5243-6644371165830c80.js" defer=""></script><script src="/_next/static/chunks/9965-5602ed5e81c6e630.js" defer=""></script><script src="/_next/static/chunks/6317-8c664b874bcce24d.js" defer=""></script><script src="/_next/static/chunks/8889-9fc58c5c4499b9e0.js" defer=""></script><script src="/_next/static/chunks/pages/javascript-b672bb29fbbbe229.js" defer=""></script><script src="/_next/static/zPw_X5C1NnStsfvktpsJ6/_buildManifest.js" defer=""></script><script src="/_next/static/zPw_X5C1NnStsfvktpsJ6/_ssgManifest.js" defer=""></script></head><body><div id="__next"><!--$--><!--/$--><div class="relative border-gray-800 font-rubik antialiased bg-gray-100 text-gray-800"><header class="sticky z-40 top-0 w-full xl:overflow-y-visible bg-gray-900 text-white border-b border-b-gray-800 border-b border-b-gray-800"><div class="c-container flex justify-between items-center py-4 false"><a class="flex" href="/"><div class="w-[130px] h-[24px]"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 350.92 64.54"><g fill="#fff"><path d="M341.56 12.58c-5.46 0-9.37 4.82-13.39 10.18C325.68 11.38 322.9 0 314.07 0S302.46 11.38 300 22.76c-4-5.36-7.93-10.18-13.39-10.18-3.47 0-9.35 2.37-9.35 11.22v16.11c0 8.69 4.64 10.82 7.42 11.54 4.8 1.25 16.36 2.4 29.37 2.4s24.57-1.15 29.36-2.4c2.79-.72 7.43-2.85 7.43-11.54V23.8c0-8.85-5.88-11.22-9.36-11.22M314.07 5c5.29 0 7.3 10.44 10.12 23-3.09 3.79-6.36 6.86-10.12 6.86S307 31.78 304 28c2.63-11.72 4.65-23 10.12-23m-31.84 34.91V23.8c0-5.59 3-6.2 4.33-6.2 3.85 0 8 6.43 11.94 11.59-2.83 11.71-5.78 18.81-12.75 17.37-1.82-.5-3.52-1.65-3.52-6.65M296 48.05c3-3.35 5-8.58 6.5-14.12 3.23 3.38 6.95 5.93 11.57 5.93s8.33-2.55 11.56-5.93c1.5 5.54 3.47 10.77 6.55 14.12-5.39.5-11.88.79-18.11.79s-12.73-.29-18.12-.79m49.91-8.14c0 5-1.71 6.15-3.52 6.65-7 1.48-9.93-5.66-12.72-17.37 3.95-5.16 8.09-11.59 11.94-11.59 1.3 0 4.34.61 4.34 6.2ZM1.13 52.07a1.12 1.12 0 0 1-.79-.34 1.16 1.16 0 0 1-.34-.85 1.52 1.52 0 0 1 .11-.52L14 13.74a2 2 0 0 1 .62-1 1.81 1.81 0 0 1 1.25-.4h5a1.81 1.81 0 0 1 1.25.4 2.44 2.44 0 0 1 .68 1l13.82 36.62a2.52 2.52 0 0 1 .06.52 1.16 1.16 0 0 1-.34.85 1.12 1.12 0 0 1-.79.34h-3.92a1.4 1.4 0 0 1-1.07-.37 2.41 2.41 0 0 1-.46-.7l-2.89-7.48H9.47L6.63 51a2 2 0 0 1-.48.66 1.5 1.5 0 0 1-1.1.37Zm10.15-14.18H25.4l-7.09-18.82ZM42.52 62.84a1.25 1.25 0 0 1-1.3-1.31V23.89a1.24 1.24 0 0 1 1.3-1.3h3.57a1.25 1.25 0 0 1 1.31 1.3v2.38a11.6 11.6 0 0 1 3.62-3A11.35 11.35 0 0 1 56.58 22a12.67 12.67 0 0 1 5.33 1 10.13 10.13 0 0 1 3.68 2.83 12.56 12.56 0 0 1 2.24 4.26 19.79 19.79 0 0 1 .88 5.21c0 .64.06 1.31.06 2s0 1.34-.06 2a18.1 18.1 0 0 1-.82 5.16 13.14 13.14 0 0 1-2.24 4.22 10.21 10.21 0 0 1-3.71 2.89 12.56 12.56 0 0 1-5.36 1.05 11.36 11.36 0 0 1-5.36-1.16 10.55 10.55 0 0 1-3.54-3v13a1.27 1.27 0 0 1-.37.94 1.38 1.38 0 0 1-1 .37ZM55 47.3a6.63 6.63 0 0 0 4.17-1.16 6.53 6.53 0 0 0 2.18-3 14.43 14.43 0 0 0 .8-4.14 25.8 25.8 0 0 0 0-3.29 14.43 14.43 0 0 0-.8-4.14 6.58 6.58 0 0 0-2.18-3A6.69 6.69 0 0 0 55 27.35a6.44 6.44 0 0 0-6.49 4.22 12.43 12.43 0 0 0-.82 3.77q-.06 1-.06 2.16c0 .79 0 1.53.06 2.21a9.3 9.3 0 0 0 .85 3.6 7.15 7.15 0 0 0 2.38 2.86A6.83 6.83 0 0 0 55 47.3ZM75.71 62.84a1.27 1.27 0 0 1-1.3-1.31V23.89a1.25 1.25 0 0 1 1.3-1.3h3.58a1.29 1.29 0 0 1 .93.36 1.27 1.27 0 0 1 .37.94v2.38a11.53 11.53 0 0 1 3.63-3A11.29 11.29 0 0 1 89.77 22a12.64 12.64 0 0 1 5.33 1 10.16 10.16 0 0 1 3.69 2.83 12.74 12.74 0 0 1 2.21 4.3 20.21 20.21 0 0 1 .88 5.21v4a18.1 18.1 0 0 1-.83 5.16 12.94 12.94 0 0 1-2.24 4.22 10.21 10.21 0 0 1-3.71 2.89 12.53 12.53 0 0 1-5.36 1.05 11.31 11.31 0 0 1-5.35-1.16 10.49 10.49 0 0 1-3.55-3v13a1.27 1.27 0 0 1-.37.94 1.34 1.34 0 0 1-1 .37ZM88.19 47.3a6.1 6.1 0 0 0 6.35-4.19 14.43 14.43 0 0 0 .79-4.11 25.8 25.8 0 0 0 0-3.29 14.43 14.43 0 0 0-.79-4.14 6.1 6.1 0 0 0-6.35-4.19 6.44 6.44 0 0 0-6.5 4.22 12.74 12.74 0 0 0-.82 3.77c0 .64-.05 1.36-.05 2.16s0 1.53.05 2.21a9.3 9.3 0 0 0 .85 3.6 7.15 7.15 0 0 0 2.38 2.86 6.84 6.84 0 0 0 4.09 1.1ZM122.17 52.63a21.18 21.18 0 0 1-8.56-1.53 12.82 12.82 0 0 1-5.27-4 9.44 9.44 0 0 1-1.93-5.25 1.1 1.1 0 0 1 .34-.79 1.15 1.15 0 0 1 .85-.34h4a1.47 1.47 0 0 1 1 .31 2.75 2.75 0 0 1 .57.76 6.36 6.36 0 0 0 1.36 2.39 7.72 7.72 0 0 0 2.86 2 12.06 12.06 0 0 0 4.73.79q4.48 0 6.61-1.53a4.88 4.88 0 0 0 2.12-4.19 3.83 3.83 0 0 0-1.13-2.87 10.56 10.56 0 0 0-3.52-2c-1.58-.6-3.64-1.25-6.17-1.93a36.52 36.52 0 0 1-7-2.55 10.29 10.29 0 0 1-4.19-3.57 9.81 9.81 0 0 1-1.39-5.44 9.72 9.72 0 0 1 1.73-5.67 11.66 11.66 0 0 1 4.93-3.94 18.66 18.66 0 0 1 7.68-1.45 19 19 0 0 1 6.35 1 14 14 0 0 1 4.57 2.55 11.53 11.53 0 0 1 2.77 3.4 8.31 8.31 0 0 1 1 3.57 1.18 1.18 0 0 1-.32.77 1.09 1.09 0 0 1-.87.37h-4.14a1.83 1.83 0 0 1-.88-.23 1.5 1.5 0 0 1-.65-.85 5.22 5.22 0 0 0-2.44-3.46 9.49 9.49 0 0 0-5.39-1.42 10.19 10.19 0 0 0-5.41 1.28 4.35 4.35 0 0 0-2.07 4 4.24 4.24 0 0 0 1 2.89 8.38 8.38 0 0 0 3.18 2 58.53 58.53 0 0 0 5.75 1.9 43.26 43.26 0 0 1 7.76 2.54 10.38 10.38 0 0 1 4.4 3.51 9.64 9.64 0 0 1 1.41 5.42 10 10 0 0 1-1.95 6.2 12.32 12.32 0 0 1-5.44 4 22 22 0 0 1-8.25 1.36ZM143.77 17.37a1.34 1.34 0 0 1-1-.37 1.24 1.24 0 0 1-.37-.93v-3.58a1.34 1.34 0 0 1 .37-1 1.32 1.32 0 0 1 1-.4h4.31a1.39 1.39 0 0 1 1 .4 1.29 1.29 0 0 1 .4 1v3.58a1.2 1.2 0 0 1-.4.93 1.41 1.41 0 0 1-1 .37Zm.34 34.7a1.38 1.38 0 0 1-1-.37 1.27 1.27 0 0 1-.37-.94V23.89a1.27 1.27 0 0 1 .37-.94 1.37 1.37 0 0 1 1-.36h3.69a1.25 1.25 0 0 1 1.3 1.3v26.87a1.27 1.27 0 0 1-.37.94 1.28 1.28 0 0 1-.93.37ZM168.5 64.54a17.5 17.5 0 0 1-6.58-1.05 12.16 12.16 0 0 1-4-2.52 9.27 9.27 0 0 1-2.09-2.97 8.1 8.1 0 0 1-.65-2.38 1.13 1.13 0 0 1 .34-1 1.3 1.3 0 0 1 1-.39h3.86a1.51 1.51 0 0 1 .85.22 1.8 1.8 0 0 1 .56 1 11.19 11.19 0 0 0 1 1.73 5 5 0 0 0 1.93 1.61 7.69 7.69 0 0 0 3.57.68 11 11 0 0 0 4.05-.65 4.82 4.82 0 0 0 2.5-2.3 9.59 9.59 0 0 0 .87-4.47v-3.84a10.93 10.93 0 0 1-3.64 2.79 11.93 11.93 0 0 1-5.38 1.08 12.69 12.69 0 0 1-5.36-1 9.78 9.78 0 0 1-3.69-2.86 13.36 13.36 0 0 1-2.21-4.28 18.82 18.82 0 0 1-.82-5.27q-.06-1.53 0-3.12a18.94 18.94 0 0 1 .8-5.16 12.85 12.85 0 0 1 2.21-4.39 10.34 10.34 0 0 1 3.71-2.94 12.23 12.23 0 0 1 5.36-1.06 11.1 11.1 0 0 1 5.52 1.25 11.77 11.77 0 0 1 3.66 3.06V24a1.37 1.37 0 0 1 .37-1 1.31 1.31 0 0 1 1-.39h3.57a1.33 1.33 0 0 1 1.35 1.39v27.39a16.14 16.14 0 0 1-1.38 6.91 10 10 0 0 1-4.4 4.59 16.32 16.32 0 0 1-7.88 1.65Zm-.17-17.69a6.62 6.62 0 0 0 4.11-1.19 7.39 7.39 0 0 0 2.33-3 10.87 10.87 0 0 0 .87-3.71c0-.49.06-1.12.06-1.9s0-1.39-.06-1.84a11.09 11.09 0 0 0-.87-3.74 7.13 7.13 0 0 0-2.33-3 6.74 6.74 0 0 0-4.11-1.16 6.85 6.85 0 0 0-4.17 1.16 6.49 6.49 0 0 0-2.24 3 14.43 14.43 0 0 0-.79 4.14v2.84a14.62 14.62 0 0 0 .79 4.11 6.52 6.52 0 0 0 2.24 3.06 6.85 6.85 0 0 0 4.17 1.23ZM190.13 52.07a1.38 1.38 0 0 1-1-.37 1.31 1.31 0 0 1-.37-.94V23.89a1.31 1.31 0 0 1 .37-.94 1.37 1.37 0 0 1 1-.36h3.63a1.25 1.25 0 0 1 1.31 1.3v2.44a12.29 12.29 0 0 1 3.8-3.09 11.91 11.91 0 0 1 5.72-1.24 11.34 11.34 0 0 1 6.12 1.59 10.28 10.28 0 0 1 3.92 4.41 15.55 15.55 0 0 1 1.37 6.77v16a1.25 1.25 0 0 1-.4.94 1.39 1.39 0 0 1-1 .37h-3.92a1.28 1.28 0 0 1-.93-.37 1.27 1.27 0 0 1-.37-.94V35.06a8.33 8.33 0 0 0-1.79-5.67 6.45 6.45 0 0 0-5.13-2 6.84 6.84 0 0 0-5.18 2 7.83 7.83 0 0 0-2 5.67v15.7a1.22 1.22 0 0 1-.4.94 1.37 1.37 0 0 1-1 .37ZM230.92 52.63a11.76 11.76 0 0 1-5.25-1.16 9.93 9.93 0 0 1-3.74-3.09 7.31 7.31 0 0 1-1.39-4.38 7.42 7.42 0 0 1 3.18-6.27 18.1 18.1 0 0 1 8.39-3.09l8-1.19v-1.4a5.5 5.5 0 0 0-1.36-4c-.91-.94-2.42-1.41-4.54-1.41a6.9 6.9 0 0 0-3.74.9 5.22 5.22 0 0 0-2 2.44 1.32 1.32 0 0 1-1.25.74h-3.51a1.2 1.2 0 0 1-.94-.34 1.34 1.34 0 0 1-.31-.91 5.88 5.88 0 0 1 .71-2.12 8.28 8.28 0 0 1 2.07-2.5 11.76 11.76 0 0 1 3.66-2 15.47 15.47 0 0 1 5.35-.82 17.06 17.06 0 0 1 5.9.88 9.93 9.93 0 0 1 3.8 2.35 9.17 9.17 0 0 1 2.07 3.4 12.46 12.46 0 0 1 .65 4v18.1a1.22 1.22 0 0 1-.4.94 1.37 1.37 0 0 1-1 .37h-3.63a1.25 1.25 0 0 1-1.3-1.31v-2.38a9.3 9.3 0 0 1-2 2 10.74 10.74 0 0 1-3 1.62 13.85 13.85 0 0 1-4.42.63Zm1.59-4.82a8.24 8.24 0 0 0 3.91-.93A6.74 6.74 0 0 0 239.2 44a10.38 10.38 0 0 0 1-4.88v-1.4l-6.13 1a13.25 13.25 0 0 0-5.52 1.75 3.66 3.66 0 0 0-1.85 3.06 3.46 3.46 0 0 0 .85 2.41 5.33 5.33 0 0 0 2.16 1.42 8 8 0 0 0 2.8.45ZM254.47 52.07a1.25 1.25 0 0 1-1.3-1.31V13.12a1.25 1.25 0 0 1 1.3-1.31h3.74a1.25 1.25 0 0 1 1.3 1.31v37.64a1.25 1.25 0 0 1-1.3 1.31Z"></path></g></svg></div></a><div class="hidden xl:block"><ul class="flex"><li><div class="block py-2 px-2 xl:px-3 no-underline cursor-pointer select-none text-gray-200 hover:text-white"><span>Features</span><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="angle-down" class="svg-inline--fa fa-angle-down inline-block pb-0.5 ml-2 text-gray-400 text-xxs" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"></path></svg><div class="absolute mt-0 pt-2.5 z-10 w-72 hidden"><div class="w-72 px-3 py-4 bg-white shadow rounded-lg text-left"><h3 class="px-2 c_h-heading c_h-heading--caps text-sm tracking-wider text-gray-600 pb-2">Monitoring features</h3><ul><li><a class="flex items-center space-x-3 px-2 py-1 no-underline rounded transition-colors group" href="/tour/errors"><div class="text-orange-500 flex justify-center items-center h-7 w-7 border border-gray-200 bg-white shadow-sm rounded-md group-hover:shadow transition-all"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="bug" class="svg-inline--fa fa-bug fa-xs " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0c53 0 96 43 96 96v3.6c0 15.7-12.7 28.4-28.4 28.4H188.4c-15.7 0-28.4-12.7-28.4-28.4V96c0-53 43-96 96-96zM41.4 105.4c12.5-12.5 32.8-12.5 45.3 0l64 64c.7 .7 1.3 1.4 1.9 2.1c14.2-7.3 30.4-11.4 47.5-11.4H312c17.1 0 33.2 4.1 47.5 11.4c.6-.7 1.2-1.4 1.9-2.1l64-64c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-64 64c-.7 .7-1.4 1.3-2.1 1.9c6.2 12 10.1 25.3 11.1 39.5H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H416c0 24.6-5.5 47.8-15.4 68.6c2.2 1.3 4.2 2.9 6 4.8l64 64c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-63.1-63.1c-24.5 21.8-55.8 36.2-90.3 39.6V240c0-8.8-7.2-16-16-16s-16 7.2-16 16V479.2c-34.5-3.4-65.8-17.8-90.3-39.6L86.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l64-64c1.9-1.9 3.9-3.4 6-4.8C101.5 367.8 96 344.6 96 320H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96.3c1.1-14.1 5-27.5 11.1-39.5c-.7-.6-1.4-1.2-2.1-1.9l-64-64c-12.5-12.5-12.5-32.8 0-45.3z"></path></svg></div><span class="text-gray-700 group-hover:text-gray-800">Error tracking</span></a></li><li><a class="flex items-center space-x-3 px-2 py-1 no-underline rounded transition-colors group" href="/tour/performance"><div class="text-green-500 flex justify-center items-center h-7 w-7 border border-gray-200 bg-white shadow-sm rounded-md group-hover:shadow transition-all"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="rabbit-running" class="svg-inline--fa fa-rabbit-running fa-xs " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M460.7 39.3l-2.2-2.1c-4.7-4.6-11.5-6.4-17.9-4.7s-11.4 6.6-13.1 13l-.8 2.9c-3.3 11.8-5.1 23.7-5.5 35.6c24.3 20.6 42.9 47.8 53.3 78.8c-8.2-1.9-16.5-2.9-25-2.9c-.6 0-1.1 0-1.7 0c-18.4-44-56.5-77.4-103.6-89.3l-3.4-.9c-6.2-1.6-12.9-.6-18.5 2.6c-10.8 6.2-15.6 19.5-11.2 31.1c14.9 39.5 44.3 71.4 81.4 89.7c-3.7 6.6-6.4 14-7.6 21.8L279.7 154.9C248.8 137.3 213.8 128 178.2 128c-32.3 0-62.2 16.8-78.9 44.4C89 159.9 73.4 152 56 152c-30.9 0-56 25.1-56 56s25.1 56 56 56c11.3 0 21.8-3.3 30.6-9.1c4.9 17.2 14.5 33.1 28.4 45.9L257.2 431.2C269 442 284.4 448 300.4 448H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H352 335.2 320V340.5c0-42.9-28.4-80.5-69.6-92.3l-30.8-8.8c-8.5-2.4-13.4-11.3-11-19.8s11.3-13.4 19.8-11l30.8 8.8c55 15.7 92.8 65.9 92.8 123.1v15.7l56-32.4 6.4-3.7H515.7c33.3 0 60.3-27 60.3-60.3c0-18.1-8.2-35.3-22.2-46.7l-34.6-28.2c-4.6-3.7-9.4-7.1-14.5-10c8.4-49.3-7.8-100-43.9-135.5zm-318.5 382c-14.7 9.8-18.7 29.7-8.9 44.4s29.7 18.7 44.4 8.9l46-30.7-48.6-44.5-32.9 22zM480 240a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z"></path></svg></div><span class="text-gray-700 group-hover:text-gray-800">Performance monitoring</span></a></li><li><a class="flex items-center space-x-3 px-2 py-1 no-underline rounded transition-colors group" href="/tour/hosts"><div class="text-teal-500 flex justify-center items-center h-7 w-7 border border-gray-200 bg-white shadow-sm rounded-md group-hover:shadow transition-all"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="server" class="svg-inline--fa fa-server fa-xs " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm48 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"></path></svg></div><span class="text-gray-700 group-hover:text-gray-800">Host monitoring</span></a></li><li><a class="flex items-center space-x-3 px-2 py-1 no-underline rounded transition-colors group" href="/tour/anomaly-detection"><div class="text-red-500 flex justify-center items-center h-7 w-7 border border-gray-200 bg-white shadow-sm rounded-md group-hover:shadow transition-all"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="siren-on" class="svg-inline--fa fa-siren-on fa-xs " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M69.3 36l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3s22.3-14 33.3-6.7zM597.3 76l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zM24 192H88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm528 0h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H552c-13.3 0-24-10.7-24-24s10.7-24 24-24zM144 352l25-199.9c4-32 31.2-56.1 63.5-56.1h175c32.3 0 59.5 24 63.5 56.1L496 352H234.1l21.8-174c1.1-8.8-5.1-16.8-13.9-17.9s-16.8 5.1-17.9 13.9L201.9 352H144zM96 416c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V416z"></path></svg></div><span class="text-gray-700 group-hover:text-gray-800">Anomaly detection</span></a></li><li><a class="flex items-center space-x-3 px-2 py-1 no-underline rounded transition-colors group" href="/tour/uptime-monitoring"><div class="text-yellow-500 flex justify-center items-center h-7 w-7 border border-gray-200 bg-white shadow-sm rounded-md group-hover:shadow transition-all"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="traffic-light" class="svg-inline--fa fa-traffic-light fa-xs " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M64 0C28.7 0 0 28.7 0 64V352c0 88.4 71.6 160 160 160s160-71.6 160-160V64c0-35.3-28.7-64-64-64H64zm96 416a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm48-176a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-48-80a48 48 0 1 1 0-96 48 48 0 1 1 0 96z"></path></svg></div><span class="text-gray-700 group-hover:text-gray-800">Uptime monitoring</span></a></li><li><a class="flex items-center space-x-3 px-2 py-1 no-underline rounded transition-colors group" href="/tour/metrics"><div class="text-purple-500 flex justify-center items-center h-7 w-7 border border-gray-200 bg-white shadow-sm rounded-md group-hover:shadow transition-all"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="gauge-high" class="svg-inline--fa fa-gauge-high fa-xs " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"></path></svg></div><span class="text-gray-700 group-hover:text-gray-800">Metric dashboards</span></a></li><li><a class="flex items-center space-x-3 px-2 py-1 no-underline rounded transition-colors group" href="/tour/workflow"><div class="text-blue-500 flex justify-center items-center h-7 w-7 border border-gray-200 bg-white shadow-sm rounded-md group-hover:shadow transition-all"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="users" class="svg-inline--fa fa-users fa-xs " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H405.3zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352H378.7C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z"></path></svg></div><span class="text-gray-700 group-hover:text-gray-800">Workflow</span></a></li><li><a class="flex items-center space-x-3 px-2 py-1 no-underline rounded transition-colors group" href="/tour/log-management"><div class="text-hot-pink-500 flex justify-center items-center h-7 w-7 border border-gray-200 bg-white shadow-sm rounded-md group-hover:shadow transition-all"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="line-columns" class="svg-inline--fa fa-line-columns fa-xs " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M224 64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H192c17.7 0 32-14.3 32-32zm0 128c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H192c17.7 0 32-14.3 32-32zM0 320c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM224 448c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H192c17.7 0 32-14.3 32-32zM288 64c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zM512 192c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32zM288 320c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zM512 448c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32z"></path></svg></div><span class="text-gray-700 group-hover:text-gray-800">Log management</span></a></li><li><a class="flex items-center space-x-3 px-2 py-1 no-underline rounded transition-colors group" href="/tour/automated-dashboards"><div class="text-purple-500 flex justify-center items-center h-7 w-7 border border-gray-200 bg-white shadow-sm rounded-md group-hover:shadow transition-all"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="gauge-high" class="svg-inline--fa fa-gauge-high fa-xs " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"></path></svg></div><span class="text-gray-700 group-hover:text-gray-800">Automated Dashboards</span></a></li><li><a class="flex items-center space-x-3 px-2 py-1 no-underline rounded transition-colors group" href="/tour/check-ins"><div class="text-blue-500 flex justify-center items-center h-7 w-7 border border-gray-200 bg-white shadow-sm rounded-md group-hover:shadow transition-all"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="square-check" class="svg-inline--fa fa-square-check fa-xs " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"></path></svg></div><span class="text-gray-700 group-hover:text-gray-800">Check-ins</span></a></li><li><a class="flex items-center space-x-3 px-2 py-1 no-underline rounded transition-colors group" href="/tour/time-detective"><div class="text-azure-500 flex justify-center items-center h-7 w-7 border border-gray-200 bg-white shadow-sm rounded-md group-hover:shadow transition-all"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="user-secret" class="svg-inline--fa fa-user-secret fa-xs " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224 16c-6.7 0-10.8-2.8-15.5-6.1C201.9 5.4 194 0 176 0c-30.5 0-52 43.7-66 89.4C62.7 98.1 32 112.2 32 128c0 14.3 25 27.1 64.6 35.9c-.4 4-.6 8-.6 12.1c0 17 3.3 33.2 9.3 48H45.4C38 224 32 230 32 237.4c0 1.7 .3 3.4 1 5l38.8 96.9C28.2 371.8 0 423.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7c0-58.5-28.2-110.4-71.7-143L415 242.4c.6-1.6 1-3.3 1-5c0-7.4-6-13.4-13.4-13.4H342.7c6-14.8 9.3-31 9.3-48c0-4.1-.2-8.1-.6-12.1C391 155.1 416 142.3 416 128c0-15.8-30.7-29.9-78-38.6C324 43.7 302.5 0 272 0c-18 0-25.9 5.4-32.5 9.9c-4.8 3.3-8.8 6.1-15.5 6.1zm56 208H267.6c-16.5 0-31.1-10.6-36.3-26.2c-2.3-7-12.2-7-14.5 0c-5.2 15.6-19.9 26.2-36.3 26.2H168c-22.1 0-40-17.9-40-40V169.6c28.2 4.1 61 6.4 96 6.4s67.8-2.3 96-6.4V184c0 22.1-17.9 40-40 40zm-88 96l16 32L176 480 128 288l64 32zm128-32L272 480 240 352l16-32 64-32z"></path></svg></div><span class="text-gray-700 group-hover:text-gray-800">Time Detective</span></a></li></ul></div></div></div></li><li><div class="block py-2 px-2 xl:px-3 no-underline cursor-pointer select-none text-gray-200 hover:text-white"><span>Languages</span><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="angle-down" class="svg-inline--fa fa-angle-down inline-block pb-0.5 ml-2 text-gray-400 text-xxs" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"></path></svg><div class="absolute mt-0 pt-2.5 z-10 w-72 hidden"><div class="w-72 px-3 py-4 bg-white shadow rounded-lg text-left"><h3 class="px-2 c_h-heading c_h-heading--caps text-sm tracking-wider text-gray-600 pb-2">Supported Languages</h3><ul><li><a class="flex items-center space-x-3 px-2 py-1 no-underline rounded transition-colors group" href="/ruby"><div class="text-red-500 flex justify-center items-center h-7 w-7 border border-gray-200 bg-white shadow-sm rounded-md group-hover:shadow transition-all"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="gem" class="svg-inline--fa fa-gem fa-xs " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M116.7 33.8c4.5-6.1 11.7-9.8 19.3-9.8H376c7.6 0 14.8 3.6 19.3 9.8l112 152c6.8 9.2 6.1 21.9-1.5 30.4l-232 256c-4.5 5-11 7.9-17.8 7.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152zm38.5 39.8c-3.3 2.5-4.2 7-2.1 10.5l57.4 95.6L63.3 192c-4.1 .3-7.3 3.8-7.3 8s3.2 7.6 7.3 8l192 16c.4 0 .9 0 1.3 0l192-16c4.1-.3 7.3-3.8 7.3-8s-3.2-7.6-7.3-8L301.5 179.8l57.4-95.6c2.1-3.5 1.2-8.1-2.1-10.5s-7.9-2-10.7 1L256 172.2 165.9 74.6c-2.8-3-7.4-3.4-10.7-1z"></path></svg></div><span class="text-gray-700 group-hover:text-gray-800">Ruby (on Rails) APM</span></a></li><li><a class="flex items-center space-x-3 px-2 py-1 no-underline rounded transition-colors group" href="/elixir"><div class="text-purple-500 flex justify-center items-center h-7 w-7 border border-gray-200 bg-white shadow-sm rounded-md group-hover:shadow transition-all"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="droplet" class="svg-inline--fa fa-droplet fa-xs " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0h1.8c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM96 336c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z"></path></svg></div><span class="text-gray-700 group-hover:text-gray-800">Elixir APM</span></a></li><li><a class="flex items-center space-x-3 px-2 py-1 no-underline rounded transition-colors group" href="/nodejs"><div class="text-green-500 flex justify-center items-center h-7 w-7 border border-gray-200 bg-white shadow-sm rounded-md group-hover:shadow transition-all"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="node-js" class="svg-inline--fa fa-node-js fa-xs " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224 508c-6.7 0-13.5-1.8-19.4-5.2l-61.7-36.5c-9.2-5.2-4.7-7-1.7-8 12.3-4.3 14.8-5.2 27.9-12.7 1.4-.8 3.2-.5 4.6.4l47.4 28.1c1.7 1 4.1 1 5.7 0l184.7-106.6c1.7-1 2.8-3 2.8-5V149.3c0-2.1-1.1-4-2.9-5.1L226.8 37.7c-1.7-1-4-1-5.7 0L36.6 144.3c-1.8 1-2.9 3-2.9 5.1v213.1c0 2 1.1 4 2.9 4.9l50.6 29.2c27.5 13.7 44.3-2.4 44.3-18.7V167.5c0-3 2.4-5.3 5.4-5.3h23.4c2.9 0 5.4 2.3 5.4 5.3V378c0 36.6-20 57.6-54.7 57.6-10.7 0-19.1 0-42.5-11.6l-48.4-27.9C8.1 389.2.7 376.3.7 362.4V149.3c0-13.8 7.4-26.8 19.4-33.7L204.6 9c11.7-6.6 27.2-6.6 38.8 0l184.7 106.7c12 6.9 19.4 19.8 19.4 33.7v213.1c0 13.8-7.4 26.7-19.4 33.7L243.4 502.8c-5.9 3.4-12.6 5.2-19.4 5.2zm149.1-210.1c0-39.9-27-50.5-83.7-58-57.4-7.6-63.2-11.5-63.2-24.9 0-11.1 4.9-25.9 47.4-25.9 37.9 0 51.9 8.2 57.7 33.8.5 2.4 2.7 4.2 5.2 4.2h24c1.5 0 2.9-.6 3.9-1.7s1.5-2.6 1.4-4.1c-3.7-44.1-33-64.6-92.2-64.6-52.7 0-84.1 22.2-84.1 59.5 0 40.4 31.3 51.6 81.8 56.6 60.5 5.9 65.2 14.8 65.2 26.7 0 20.6-16.6 29.4-55.5 29.4-48.9 0-59.6-12.3-63.2-36.6-.4-2.6-2.6-4.5-5.3-4.5h-23.9c-3 0-5.3 2.4-5.3 5.3 0 31.1 16.9 68.2 97.8 68.2 58.4-.1 92-23.2 92-63.4z"></path></svg></div><span class="text-gray-700 group-hover:text-gray-800">Node.js APM</span></a></li><li><a class="flex items-center space-x-3 px-2 py-1 no-underline rounded transition-colors group" href="/javascript"><div class="text-yellow-500 flex justify-center items-center h-7 w-7 border border-gray-200 bg-white shadow-sm rounded-md group-hover:shadow transition-all"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="square-js" class="svg-inline--fa fa-square-js fa-xs " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M448 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM180.9 444.9c-33.7 0-53.2-17.4-63.2-38.5L152 385.7c6.6 11.7 12.6 21.6 27.1 21.6c13.8 0 22.6-5.4 22.6-26.5V237.7h42.1V381.4c0 43.6-25.6 63.5-62.9 63.5zm85.8-43L301 382.1c9 14.7 20.8 25.6 41.5 25.6c17.4 0 28.6-8.7 28.6-20.8c0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5c0-31.6 24.1-55.6 61.6-55.6c26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18c-12.3 0-20.1 7.8-20.1 18c0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2c0 37.8-29.8 58.6-69.7 58.6c-39.1 0-64.4-18.6-76.7-43z"></path></svg></div><span class="text-gray-700 group-hover:text-gray-800">JavaScript Error Tracking</span></a></li><li><a class="flex items-center space-x-3 px-2 py-1 no-underline rounded transition-colors group" href="/python"><div class="text-blue-500 flex justify-center items-center h-7 w-7 border border-gray-200 bg-white shadow-sm rounded-md group-hover:shadow transition-all"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="python" class="svg-inline--fa fa-python fa-xs " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"></path></svg></div><span class="text-gray-700 group-hover:text-gray-800">Python APM</span></a></li></ul></div></div></div></li><li><a class="block py-2 px-2 xl:px-3 no-underline text-gray-200 hover:text-white " href="/learning-center">Learn</a></li><li><a href="https://docs.appsignal.com" class="block py-2 px-2 xl:px-3 no-underline text-gray-200 hover:text-white ">Docs</a></li><li><a href="https://blog.appsignal.com" class="block py-2 px-2 xl:px-3 no-underline text-gray-200 hover:text-white ">Blog</a></li><li><a class="block py-2 px-2 xl:px-3 no-underline text-gray-200 hover:text-white " href="/plans">Pricing</a></li></ul></div><ul class="hidden xl:flex justify-end space-x-4 dark"><li><a href="https://appsignal.com/users/sign_in" class="c-button c-button--sm text-white border-gray-700 bg-blue-800 hover:bg-gray-700">Login</a></li><li><a href="https://appsignal.com/users/sign_up" class="c-button c-button--sm c-button--green">Start free trial</a></li></ul><div class="xl:hidden dark"><a href="#menu" class="c-button c-button--sm c-button--white dark:c-button--gray"><div class="flex item-center space-x-2 pr-0.5"><div>Menu</div><div class="inline-block w-2 pt-0.25"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="bars" class="svg-inline--fa fa-bars " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"></path></svg></div></div></a></div></div><nav class="hidden border-t border-gray-700"><div class="dark c-container h-screen overflow-y-auto pt-7 pb-40"><div><h3 class="c_h-heading c_h-heading--caps text-sm text-gray-200 pb-3 mb-3 border-b border-gray-700">Monitoring features</h3><ul class="pb-8 space-y-1"><li><a class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base" href="/tour/errors"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="bug" class="svg-inline--fa fa-bug " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0c53 0 96 43 96 96v3.6c0 15.7-12.7 28.4-28.4 28.4H188.4c-15.7 0-28.4-12.7-28.4-28.4V96c0-53 43-96 96-96zM41.4 105.4c12.5-12.5 32.8-12.5 45.3 0l64 64c.7 .7 1.3 1.4 1.9 2.1c14.2-7.3 30.4-11.4 47.5-11.4H312c17.1 0 33.2 4.1 47.5 11.4c.6-.7 1.2-1.4 1.9-2.1l64-64c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-64 64c-.7 .7-1.4 1.3-2.1 1.9c6.2 12 10.1 25.3 11.1 39.5H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H416c0 24.6-5.5 47.8-15.4 68.6c2.2 1.3 4.2 2.9 6 4.8l64 64c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-63.1-63.1c-24.5 21.8-55.8 36.2-90.3 39.6V240c0-8.8-7.2-16-16-16s-16 7.2-16 16V479.2c-34.5-3.4-65.8-17.8-90.3-39.6L86.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l64-64c1.9-1.9 3.9-3.4 6-4.8C101.5 367.8 96 344.6 96 320H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96.3c1.1-14.1 5-27.5 11.1-39.5c-.7-.6-1.4-1.2-2.1-1.9l-64-64c-12.5-12.5-12.5-32.8 0-45.3z"></path></svg></figure><span>Error tracking</span></a></li><li><a class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base" href="/tour/performance"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="rabbit-running" class="svg-inline--fa fa-rabbit-running " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M460.7 39.3l-2.2-2.1c-4.7-4.6-11.5-6.4-17.9-4.7s-11.4 6.6-13.1 13l-.8 2.9c-3.3 11.8-5.1 23.7-5.5 35.6c24.3 20.6 42.9 47.8 53.3 78.8c-8.2-1.9-16.5-2.9-25-2.9c-.6 0-1.1 0-1.7 0c-18.4-44-56.5-77.4-103.6-89.3l-3.4-.9c-6.2-1.6-12.9-.6-18.5 2.6c-10.8 6.2-15.6 19.5-11.2 31.1c14.9 39.5 44.3 71.4 81.4 89.7c-3.7 6.6-6.4 14-7.6 21.8L279.7 154.9C248.8 137.3 213.8 128 178.2 128c-32.3 0-62.2 16.8-78.9 44.4C89 159.9 73.4 152 56 152c-30.9 0-56 25.1-56 56s25.1 56 56 56c11.3 0 21.8-3.3 30.6-9.1c4.9 17.2 14.5 33.1 28.4 45.9L257.2 431.2C269 442 284.4 448 300.4 448H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H352 335.2 320V340.5c0-42.9-28.4-80.5-69.6-92.3l-30.8-8.8c-8.5-2.4-13.4-11.3-11-19.8s11.3-13.4 19.8-11l30.8 8.8c55 15.7 92.8 65.9 92.8 123.1v15.7l56-32.4 6.4-3.7H515.7c33.3 0 60.3-27 60.3-60.3c0-18.1-8.2-35.3-22.2-46.7l-34.6-28.2c-4.6-3.7-9.4-7.1-14.5-10c8.4-49.3-7.8-100-43.9-135.5zm-318.5 382c-14.7 9.8-18.7 29.7-8.9 44.4s29.7 18.7 44.4 8.9l46-30.7-48.6-44.5-32.9 22zM480 240a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z"></path></svg></figure><span>Performance monitoring</span></a></li><li><a class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base" href="/tour/hosts"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="server" class="svg-inline--fa fa-server " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm48 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"></path></svg></figure><span>Host monitoring</span></a></li><li><a class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base" href="/tour/anomaly-detection"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="siren-on" class="svg-inline--fa fa-siren-on " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M69.3 36l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3s22.3-14 33.3-6.7zM597.3 76l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zM24 192H88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm528 0h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H552c-13.3 0-24-10.7-24-24s10.7-24 24-24zM144 352l25-199.9c4-32 31.2-56.1 63.5-56.1h175c32.3 0 59.5 24 63.5 56.1L496 352H234.1l21.8-174c1.1-8.8-5.1-16.8-13.9-17.9s-16.8 5.1-17.9 13.9L201.9 352H144zM96 416c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V416z"></path></svg></figure><span>Anomaly detection</span></a></li><li><a class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base" href="/tour/uptime-monitoring"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="traffic-light" class="svg-inline--fa fa-traffic-light " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M64 0C28.7 0 0 28.7 0 64V352c0 88.4 71.6 160 160 160s160-71.6 160-160V64c0-35.3-28.7-64-64-64H64zm96 416a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm48-176a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-48-80a48 48 0 1 1 0-96 48 48 0 1 1 0 96z"></path></svg></figure><span>Uptime monitoring</span></a></li><li><a class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base" href="/tour/metrics"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="gauge-high" class="svg-inline--fa fa-gauge-high " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"></path></svg></figure><span>Metric dashboards</span></a></li><li><a class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base" href="/tour/workflow"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="users" class="svg-inline--fa fa-users " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H405.3zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352H378.7C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z"></path></svg></figure><span>Workflow</span></a></li><li><a class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base" href="/tour/log-management"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="line-columns" class="svg-inline--fa fa-line-columns " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M224 64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H192c17.7 0 32-14.3 32-32zm0 128c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H192c17.7 0 32-14.3 32-32zM0 320c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM224 448c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H192c17.7 0 32-14.3 32-32zM288 64c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zM512 192c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32zM288 320c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zM512 448c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32z"></path></svg></figure><span>Log management</span></a></li><li><a class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base" href="/tour/automated-dashboards"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="gauge-high" class="svg-inline--fa fa-gauge-high " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"></path></svg></figure><span>Automated Dashboards</span></a></li><li><a class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base" href="/tour/check-ins"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="square-check" class="svg-inline--fa fa-square-check " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"></path></svg></figure><span>Check-ins</span></a></li><li><a class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base" href="/tour/time-detective"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="user-secret" class="svg-inline--fa fa-user-secret " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224 16c-6.7 0-10.8-2.8-15.5-6.1C201.9 5.4 194 0 176 0c-30.5 0-52 43.7-66 89.4C62.7 98.1 32 112.2 32 128c0 14.3 25 27.1 64.6 35.9c-.4 4-.6 8-.6 12.1c0 17 3.3 33.2 9.3 48H45.4C38 224 32 230 32 237.4c0 1.7 .3 3.4 1 5l38.8 96.9C28.2 371.8 0 423.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7c0-58.5-28.2-110.4-71.7-143L415 242.4c.6-1.6 1-3.3 1-5c0-7.4-6-13.4-13.4-13.4H342.7c6-14.8 9.3-31 9.3-48c0-4.1-.2-8.1-.6-12.1C391 155.1 416 142.3 416 128c0-15.8-30.7-29.9-78-38.6C324 43.7 302.5 0 272 0c-18 0-25.9 5.4-32.5 9.9c-4.8 3.3-8.8 6.1-15.5 6.1zm56 208H267.6c-16.5 0-31.1-10.6-36.3-26.2c-2.3-7-12.2-7-14.5 0c-5.2 15.6-19.9 26.2-36.3 26.2H168c-22.1 0-40-17.9-40-40V169.6c28.2 4.1 61 6.4 96 6.4s67.8-2.3 96-6.4V184c0 22.1-17.9 40-40 40zm-88 96l16 32L176 480 128 288l64 32zm128-32L272 480 240 352l16-32 64-32z"></path></svg></figure><span>Time Detective</span></a></li></ul></div><div><h3 class="c_h-heading c_h-heading--caps text-sm text-gray-200 pb-3 mb-3 border-b border-gray-700">Supported Languages</h3><ul class="pb-8 space-y-1"><li><a class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base" href="/ruby"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="gem" class="svg-inline--fa fa-gem " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M116.7 33.8c4.5-6.1 11.7-9.8 19.3-9.8H376c7.6 0 14.8 3.6 19.3 9.8l112 152c6.8 9.2 6.1 21.9-1.5 30.4l-232 256c-4.5 5-11 7.9-17.8 7.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152zm38.5 39.8c-3.3 2.5-4.2 7-2.1 10.5l57.4 95.6L63.3 192c-4.1 .3-7.3 3.8-7.3 8s3.2 7.6 7.3 8l192 16c.4 0 .9 0 1.3 0l192-16c4.1-.3 7.3-3.8 7.3-8s-3.2-7.6-7.3-8L301.5 179.8l57.4-95.6c2.1-3.5 1.2-8.1-2.1-10.5s-7.9-2-10.7 1L256 172.2 165.9 74.6c-2.8-3-7.4-3.4-10.7-1z"></path></svg></figure><span>Ruby (on Rails) APM</span></a></li><li><a class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base" href="/elixir"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="droplet" class="svg-inline--fa fa-droplet " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0h1.8c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM96 336c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z"></path></svg></figure><span>Elixir APM</span></a></li><li><a class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base" href="/nodejs"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="node-js" class="svg-inline--fa fa-node-js " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224 508c-6.7 0-13.5-1.8-19.4-5.2l-61.7-36.5c-9.2-5.2-4.7-7-1.7-8 12.3-4.3 14.8-5.2 27.9-12.7 1.4-.8 3.2-.5 4.6.4l47.4 28.1c1.7 1 4.1 1 5.7 0l184.7-106.6c1.7-1 2.8-3 2.8-5V149.3c0-2.1-1.1-4-2.9-5.1L226.8 37.7c-1.7-1-4-1-5.7 0L36.6 144.3c-1.8 1-2.9 3-2.9 5.1v213.1c0 2 1.1 4 2.9 4.9l50.6 29.2c27.5 13.7 44.3-2.4 44.3-18.7V167.5c0-3 2.4-5.3 5.4-5.3h23.4c2.9 0 5.4 2.3 5.4 5.3V378c0 36.6-20 57.6-54.7 57.6-10.7 0-19.1 0-42.5-11.6l-48.4-27.9C8.1 389.2.7 376.3.7 362.4V149.3c0-13.8 7.4-26.8 19.4-33.7L204.6 9c11.7-6.6 27.2-6.6 38.8 0l184.7 106.7c12 6.9 19.4 19.8 19.4 33.7v213.1c0 13.8-7.4 26.7-19.4 33.7L243.4 502.8c-5.9 3.4-12.6 5.2-19.4 5.2zm149.1-210.1c0-39.9-27-50.5-83.7-58-57.4-7.6-63.2-11.5-63.2-24.9 0-11.1 4.9-25.9 47.4-25.9 37.9 0 51.9 8.2 57.7 33.8.5 2.4 2.7 4.2 5.2 4.2h24c1.5 0 2.9-.6 3.9-1.7s1.5-2.6 1.4-4.1c-3.7-44.1-33-64.6-92.2-64.6-52.7 0-84.1 22.2-84.1 59.5 0 40.4 31.3 51.6 81.8 56.6 60.5 5.9 65.2 14.8 65.2 26.7 0 20.6-16.6 29.4-55.5 29.4-48.9 0-59.6-12.3-63.2-36.6-.4-2.6-2.6-4.5-5.3-4.5h-23.9c-3 0-5.3 2.4-5.3 5.3 0 31.1 16.9 68.2 97.8 68.2 58.4-.1 92-23.2 92-63.4z"></path></svg></figure><span>Node.js APM</span></a></li><li><a class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base" href="/javascript"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="square-js" class="svg-inline--fa fa-square-js " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M448 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM180.9 444.9c-33.7 0-53.2-17.4-63.2-38.5L152 385.7c6.6 11.7 12.6 21.6 27.1 21.6c13.8 0 22.6-5.4 22.6-26.5V237.7h42.1V381.4c0 43.6-25.6 63.5-62.9 63.5zm85.8-43L301 382.1c9 14.7 20.8 25.6 41.5 25.6c17.4 0 28.6-8.7 28.6-20.8c0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5c0-31.6 24.1-55.6 61.6-55.6c26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18c-12.3 0-20.1 7.8-20.1 18c0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2c0 37.8-29.8 58.6-69.7 58.6c-39.1 0-64.4-18.6-76.7-43z"></path></svg></figure><span>JavaScript Error Tracking</span></a></li><li><a class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base" href="/python"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="python" class="svg-inline--fa fa-python " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"></path></svg></figure><span>Python APM</span></a></li></ul></div><div></div><div></div><div></div><div></div><div><ul><li><a class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base" href="/learning-center"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="book-open" class="svg-inline--fa fa-book-open " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M249.6 471.5c10.8 3.8 22.4-4.1 22.4-15.5V78.6c0-4.2-1.6-8.4-5-11C247.4 52 202.4 32 144 32C93.5 32 46.3 45.3 18.1 56.1C6.8 60.5 0 71.7 0 83.8V454.1c0 11.9 12.8 20.2 24.1 16.5C55.6 460.1 105.5 448 144 448c33.9 0 79 14 105.6 23.5zm76.8 0C353 462 398.1 448 432 448c38.5 0 88.4 12.1 119.9 22.6c11.3 3.8 24.1-4.6 24.1-16.5V83.8c0-12.1-6.8-23.3-18.1-27.6C529.7 45.3 482.5 32 432 32c-58.4 0-103.4 20-123 35.6c-3.3 2.6-5 6.8-5 11V456c0 11.4 11.7 19.3 22.4 15.5z"></path></svg></figure><span>Learn</span></a></li><li><a href="https://docs.appsignal.com" class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="book" class="svg-inline--fa fa-book " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M96 0C43 0 0 43 0 96V416c0 53 43 96 96 96H384h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V384c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H384 96zm0 384H352v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z"></path></svg></figure><span>Docs</span></a></li><li><a href="https://blog.appsignal.com" class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="rss" class="svg-inline--fa fa-rss " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M0 64C0 46.3 14.3 32 32 32c229.8 0 416 186.2 416 416c0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96C14.3 96 0 81.7 0 64zM0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416zM32 160c159.1 0 288 128.9 288 288c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224c-17.7 0-32-14.3-32-32s14.3-32 32-32z"></path></svg></figure><span>Blog</span></a></li><li><a class="flex items-center space-x-3 py-1 no-underline text-sm sm:text-base" href="/plans"><figure class="c_h-icon-box undefined c_h-icon-box--sm undefined"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="dollar-sign" class="svg-inline--fa fa-dollar-sign " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M160 0c17.7 0 32 14.3 32 32V67.7c1.6 .2 3.1 .4 4.7 .7c.4 .1 .7 .1 1.1 .2l48 8.8c17.4 3.2 28.9 19.9 25.7 37.2s-19.9 28.9-37.2 25.7l-47.5-8.7c-31.3-4.6-58.9-1.5-78.3 6.2s-27.2 18.3-29 28.1c-2 10.7-.5 16.7 1.2 20.4c1.8 3.9 5.5 8.3 12.8 13.2c16.3 10.7 41.3 17.7 73.7 26.3l2.9 .8c28.6 7.6 63.6 16.8 89.6 33.8c14.2 9.3 27.6 21.9 35.9 39.5c8.5 17.9 10.3 37.9 6.4 59.2c-6.9 38-33.1 63.4-65.6 76.7c-13.7 5.6-28.6 9.2-44.4 11V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V445.1c-.4-.1-.9-.1-1.3-.2l-.2 0 0 0c-24.4-3.8-64.5-14.3-91.5-26.3c-16.1-7.2-23.4-26.1-16.2-42.2s26.1-23.4 42.2-16.2c20.9 9.3 55.3 18.5 75.2 21.6c31.9 4.7 58.2 2 76-5.3c16.9-6.9 24.6-16.9 26.8-28.9c1.9-10.6 .4-16.7-1.3-20.4c-1.9-4-5.6-8.4-13-13.3c-16.4-10.7-41.5-17.7-74-26.3l-2.8-.7 0 0C119.4 279.3 84.4 270 58.4 253c-14.2-9.3-27.5-22-35.8-39.6c-8.4-17.9-10.1-37.9-6.1-59.2C23.7 116 52.3 91.2 84.8 78.3c13.3-5.3 27.9-8.9 43.2-11V32c0-17.7 14.3-32 32-32z"></path></svg></figure><span>Pricing</span></a></li><li><a href="https://appsignal.com/users/sign_in" class="block mt-4 text-center c-button c-button--sm c-button--gray">Login</a></li><li><a href="https://appsignal.com/users/sign_up" class="block mt-4 text-center c-button c-button--sm">Start free trial</a></li></ul></div></div></nav></header><section class="relative py-16 bg-gradient-to-b from-gray-900 to-yellow-800 dark"><div class="z-0 absolute inset-x-0 bottom-0 w-full h-1/2 bg-grid"></div><div class="space-y-16"><div class="c-container"><header class="relative self-center space-y-4 text-center mx-auto max-w-3xl"><div class="flex flex-col sm:flex-row items-center space-y-5 sm:space-y-0 sm:space-x-4 sm:justify-center"><figure class="c_h-icon-box c_h-icon-box--yellow c_h-icon-box--lg lg:c_h-icon-box--xl undefined"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="square-js" class="svg-inline--fa fa-square-js " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M448 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM180.9 444.9c-33.7 0-53.2-17.4-63.2-38.5L152 385.7c6.6 11.7 12.6 21.6 27.1 21.6c13.8 0 22.6-5.4 22.6-26.5V237.7h42.1V381.4c0 43.6-25.6 63.5-62.9 63.5zm85.8-43L301 382.1c9 14.7 20.8 25.6 41.5 25.6c17.4 0 28.6-8.7 28.6-20.8c0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5c0-31.6 24.1-55.6 61.6-55.6c26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18c-12.3 0-20.1 7.8-20.1 18c0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2c0 37.8-29.8 58.6-69.7 58.6c-39.1 0-64.4-18.6-76.7-43z"></path></svg></figure><h1 class="c_h-heading c_h-heading--caps font-normal tracking-widest c_h-text--xl-fluid text-yellow-400">JavaScript Error Tracking</h1></div><h2 class="c_h-heading dark:text-white c_h-heading--8xl-fluid leading-tighter text-balance">Catch and fix errors in your JavaScript.</h2></header></div><div><p class="c-container text-gray-200 text-xl md:text-2xl text-center mb-6 md:mb-8">We monitor your favorite JavaScript frameworks:</p><div class="relative c-container"><div class="bg-gray-200 mx-auto grid gap-px overflow-hidden grid-cols-1 md:grid-cols-2 max-w-4xl c_h-box c_h-box--white"><a href="https://www.appsignal.com/javascript/react-monitoring" class="group/hover-link flex items-center px-4 sm:px-6 py-5 bg-white no-underline c_h-box__link"><h3 class="flex items-center gap-4 c_h-heading c_h-heading--2xl-fluid text-gray-800 w-full"><span>React</span></h3><div class="flex justify-between w-auto"><div class="text-lg ml-auto"><div class="w-max mt-auto c-button c-button--white c-button--sm text-sm">Learn more</div></div></div></a><a href="https://www.appsignal.com/javascript/vue-monitoring" class="group/hover-link flex items-center px-4 sm:px-6 py-5 bg-white no-underline c_h-box__link"><h3 class="flex items-center gap-4 c_h-heading c_h-heading--2xl-fluid text-gray-800 w-full"><span>Vue</span></h3><div class="flex justify-between w-auto"><div class="text-lg ml-auto"><div class="w-max mt-auto c-button c-button--white c-button--sm text-sm">Learn more</div></div></div></a><a href="https://www.appsignal.com/javascript/angular-monitoring" class="group/hover-link flex items-center px-4 sm:px-6 py-5 bg-white no-underline c_h-box__link"><h3 class="flex items-center gap-4 c_h-heading c_h-heading--2xl-fluid text-gray-800 w-full"><span>Angular</span></h3><div class="flex justify-between w-auto"><div class="text-lg ml-auto"><div class="w-max mt-auto c-button c-button--white c-button--sm text-sm">Learn more</div></div></div></a><a href="https://www.appsignal.com/javascript/ember-monitoring" class="group/hover-link flex items-center px-4 sm:px-6 py-5 bg-white no-underline c_h-box__link"><h3 class="flex items-center gap-4 c_h-heading c_h-heading--2xl-fluid text-gray-800 w-full"><span>Ember</span></h3><div class="flex justify-between w-auto"><div class="text-lg ml-auto"><div class="w-max mt-auto c-button c-button--white c-button--sm text-sm">Learn more</div></div></div></a><a href="https://www.appsignal.com/javascript/preact-monitoring" class="group/hover-link flex items-center px-4 sm:px-6 py-5 bg-white no-underline c_h-box__link"><h3 class="flex items-center gap-4 c_h-heading c_h-heading--2xl-fluid text-gray-800 w-full"><span>Preact</span></h3><div class="flex justify-between w-auto"><div class="text-lg ml-auto"><div class="w-max mt-auto c-button c-button--white c-button--sm text-sm">Learn more</div></div></div></a><a href="https://www.appsignal.com/javascript/stimulus-monitoring" class="group/hover-link flex items-center px-4 sm:px-6 py-5 bg-white no-underline c_h-box__link"><h3 class="flex items-center gap-4 c_h-heading c_h-heading--2xl-fluid text-gray-800 w-full"><span>Stimulus</span></h3><div class="flex justify-between w-auto"><div class="text-lg ml-auto"><div class="w-max mt-auto c-button c-button--white c-button--sm text-sm">Learn more</div></div></div></a><p class="px-6 py-5 md:text-lg text-gray-700 text-center bg-white md:col-span-2">And of course, you can catch<!-- --> <a target="_blank" rel="nofollow noopener noreferrer" href="https://docs.appsignal.com/front-end/installation.html" class="c-link c-link--blue">plain JavaScript</a> <!-- -->errors!</p></div></div></div></div></section><section class="relative py-24 xl:py-32 bg-white space-y-20"><div class="c-container"><header class="relative self-center space-y-4 text-left sm:text-center mx-auto max-w-5xl"><h1 class="c_h-heading c_h-heading--caps font-normal tracking-widest c_h-text--lg-fluid text-gray-700 dark:text-gray-200">Javascript debugging reports</h1><h2 class="c_h-heading dark:text-white c_h-heading--7xl-fluid leading-tighter text-balance">Find the root cause of errors</h2><p class="undefined text-gray-700 dark:text-white dark:opacity-80 c_h-text--2xl-fluid">We save error details and provide you with the information to drill down to the root cause. Look at other occurrences of the same error to discover patterns. Tag errors with user ID&#x27;s or anything else to make debugging easier, and add links back to your CRM to follow-up on affected users.</p></header></div><div class="c-container grid gap gap-4 md:gap-6 lg:gap-8 md:grid-cols-2 lg:grid-cols-2 max-w-6xl undefined "><div class="rounded-lg p-6 md:p-8 c_h-box c_h-box--gray"><div class="relative self-center space-y-3 mx-auto"><h3 class="c_h-heading dark:text-white c_h-heading--2xl-fluid text-balance">Error message</h3><p class="undefined text-gray-700 dark:text-white dark:opacity-80 text-lg sm:text-xl">The error message is shown at the start of the page.</p></div><figure class="mt-6 lg:mt-8"><img alt="Image of undefined" loading="lazy" width="500" height="154" decoding="async" data-nimg="1" style="color:transparent" sizes="(min-width: 768px) 500px, 100vw" srcSet="/_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Ferror-message.jpg&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Ferror-message.jpg&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Ferror-message.jpg&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Ferror-message.jpg&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Ferror-message.jpg&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Ferror-message.jpg&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Ferror-message.jpg&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Ferror-message.jpg&amp;w=2640&amp;q=75 2640w" src="/_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Ferror-message.jpg&amp;w=2640&amp;q=75"/></figure></div><div class="rounded-lg p-6 md:p-8 c_h-box c_h-box--gray"><div class="relative self-center space-y-3 mx-auto"><h3 class="c_h-heading dark:text-white c_h-heading--2xl-fluid text-balance">Request details</h3><p class="undefined text-gray-700 dark:text-white dark:opacity-80 text-lg sm:text-xl">See the hostname, path, request ID and other information that was saved for this request.</p></div><figure class="mt-6 lg:mt-8"><img alt="Image of undefined" loading="lazy" width="500" height="240" decoding="async" data-nimg="1" style="color:transparent" sizes="(min-width: 768px) 500px, 100vw" srcSet="/_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Frequest-details.jpg&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Frequest-details.jpg&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Frequest-details.jpg&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Frequest-details.jpg&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Frequest-details.jpg&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Frequest-details.jpg&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Frequest-details.jpg&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Frequest-details.jpg&amp;w=2640&amp;q=75 2640w" src="/_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Frequest-details.jpg&amp;w=2640&amp;q=75"/></figure></div><div class="rounded-lg p-6 md:p-8 c_h-box c_h-box--gray"><div class="relative self-center space-y-3 mx-auto"><h3 class="c_h-heading dark:text-white c_h-heading--2xl-fluid text-balance">Change issue status</h3><p class="undefined text-gray-700 dark:text-white dark:opacity-80 text-lg sm:text-xl">Set issue status and notifications preferences.</p></div><figure class="mt-6 lg:mt-8"><img alt="Image of undefined" loading="lazy" width="500" height="221" decoding="async" data-nimg="1" style="color:transparent" sizes="(min-width: 768px) 500px, 100vw" srcSet="/_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fissue-status.jpg&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fissue-status.jpg&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fissue-status.jpg&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fissue-status.jpg&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fissue-status.jpg&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fissue-status.jpg&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fissue-status.jpg&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fissue-status.jpg&amp;w=2640&amp;q=75 2640w" src="/_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fissue-status.jpg&amp;w=2640&amp;q=75"/></figure></div><div class="rounded-lg p-6 md:p-8 c_h-box c_h-box--gray"><div class="relative self-center space-y-3 mx-auto"><h3 class="c_h-heading dark:text-white c_h-heading--2xl-fluid text-balance">Browse saved samples</h3><p class="undefined text-gray-700 dark:text-white dark:opacity-80 text-lg sm:text-xl">We keep track of every occurrence of the exception, so you can inspect and compare.</p></div><figure class="mt-6 lg:mt-8"><img alt="Image of undefined" loading="lazy" width="500" height="240" decoding="async" data-nimg="1" style="color:transparent" sizes="(min-width: 768px) 500px, 100vw" srcSet="/_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fbrowse-samples.jpg&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fbrowse-samples.jpg&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fbrowse-samples.jpg&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fbrowse-samples.jpg&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fbrowse-samples.jpg&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fbrowse-samples.jpg&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fbrowse-samples.jpg&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fbrowse-samples.jpg&amp;w=2640&amp;q=75 2640w" src="/_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fbrowse-samples.jpg&amp;w=2640&amp;q=75"/></figure></div></div></section><section class="relative py-24 xl:py-32 bg-white space-y-20 border-t border-gray-200"><div class="relative c-container grid grid-cols-1 md:grid-cols-2 gap-8 md:gap-20 items-center max-w-7xl"><div class="col-span-1 order-1 md:order-2"><img alt="Get alerted in real-time" loading="lazy" width="552" height="480" decoding="async" data-nimg="1" class="2xl:ml-auto c_h-box c_h-box--gray" style="color:transparent" sizes="(min-width: 768px) 552px, 100vw" srcSet="/_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Falerts.jpg&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Falerts.jpg&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Falerts.jpg&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Falerts.jpg&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Falerts.jpg&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Falerts.jpg&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Falerts.jpg&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Falerts.jpg&amp;w=2640&amp;q=75 2640w" src="/_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Falerts.jpg&amp;w=2640&amp;q=75"/></div><div class="col-span-1 xl:pr-8 order-2 md:order-1"><div class="relative self-center space-y-4 mx-auto"><h1 class="c_h-heading c_h-heading--caps font-normal tracking-widest c_h-text--lg-fluid text-yellow-500">Alerts</h1><h2 class="c_h-heading dark:text-white c_h-heading--5xl-fluid text-balance">Get alerted in real-time</h2><p class="undefined text-gray-700 dark:text-white dark:opacity-80 c_h-text--xl-fluid">AppSignal automatically sends real-time alerts to your favorite platforms.</p></div><div><hr class="my-8 w-24 dark:border-white dark:opacity-25"/><ul class="grid grid-cols-2 gap-3 text-gray-700 dark:text-white"><li class="flex items-center space-x-3"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="discord" class="svg-inline--fa fa-discord fa-fw text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"></path></svg><span class="dark:opacity-75">Discord</span></li><li class="flex items-center space-x-3"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="paper-plane" class="svg-inline--fa fa-paper-plane fa-fw text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480V396.4c0-4 1.5-7.8 4.2-10.7L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z"></path></svg><span class="dark:opacity-75">Email</span></li><li class="flex items-center space-x-3"><img loading="lazy" width="20" height="16" decoding="async" data-nimg="1" class="text-yellow-500" style="color:transparent" src="/assets/pages/javascript/integrations/flowdock-yellow.svg"/><span class="dark:opacity-75">Flowdock</span></li><li class="flex items-center space-x-3"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="intercom" class="svg-inline--fa fa-intercom fa-fw text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M392 32H56C25.1 32 0 57.1 0 88v336c0 30.9 25.1 56 56 56h336c30.9 0 56-25.1 56-56V88c0-30.9-25.1-56-56-56zm-108.3 82.1c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zm-74.6-7.5c0-19.8 29.9-19.8 29.9 0v216.5c0 19.8-29.9 19.8-29.9 0V106.6zm-74.7 7.5c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zM59.7 144c0-19.8 29.9-19.8 29.9 0v134.3c0 19.8-29.9 19.8-29.9 0V144zm323.4 227.8c-72.8 63-241.7 65.4-318.1 0-15-12.8 4.4-35.5 19.4-22.7 65.9 55.3 216.1 53.9 279.3 0 14.9-12.9 34.3 9.8 19.4 22.7zm5.2-93.5c0 19.8-29.9 19.8-29.9 0V144c0-19.8 29.9-19.8 29.9 0v134.3z"></path></svg><span class="dark:opacity-75">Intercom</span></li><li class="flex items-center space-x-3"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="microsoft" class="svg-inline--fa fa-microsoft fa-fw text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M0 32h214.6v214.6H0V32zm233.4 0H448v214.6H233.4V32zM0 265.4h214.6V480H0V265.4zm233.4 0H448V480H233.4V265.4z"></path></svg><span class="dark:opacity-75">MS Teams</span></li><li class="flex items-center space-x-3"><img loading="lazy" width="20" height="16" decoding="async" data-nimg="1" class="text-yellow-500" style="color:transparent" src="/assets/pages/javascript/integrations/opsgenie-yellow.svg"/><span class="dark:opacity-75">Opsgenie</span></li><li class="flex items-center space-x-3"><img loading="lazy" width="20" height="16" decoding="async" data-nimg="1" class="text-yellow-500" style="color:transparent" src="/assets/pages/javascript/integrations/pagerduty-yellow.svg"/><span class="dark:opacity-75">PagerDuty</span></li><li class="flex items-center space-x-3"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="slack" class="svg-inline--fa fa-slack fa-fw text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z"></path></svg><span class="dark:opacity-75">Slack</span></li><li class="flex items-center space-x-3"><img loading="lazy" width="20" height="16" decoding="async" data-nimg="1" class="text-yellow-500" style="color:transparent" src="/assets/pages/javascript/integrations/webhook-yellow.svg"/><span class="dark:opacity-75">Webhook</span></li></ul></div></div></div><div class="relative c-container grid grid-cols-1 md:grid-cols-2 gap-8 md:gap-20 items-center max-w-7xl"><div class="col-span-1 order-1 md:order-2"><img alt="Send to issue tracker" loading="lazy" width="552" height="480" decoding="async" data-nimg="1" class="2xl:ml-auto c_h-box c_h-box--gray" style="color:transparent" sizes="(min-width: 768px) 552px, 100vw" srcSet="/_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fissue-tracker.jpg&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fissue-tracker.jpg&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fissue-tracker.jpg&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fissue-tracker.jpg&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fissue-tracker.jpg&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fissue-tracker.jpg&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fissue-tracker.jpg&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fissue-tracker.jpg&amp;w=2640&amp;q=75 2640w" src="/_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fissue-tracker.jpg&amp;w=2640&amp;q=75"/></div><div class="col-span-1 xl:pr-8 order-2 md:order-1"><div class="relative self-center space-y-4 mx-auto"><h1 class="c_h-heading c_h-heading--caps font-normal tracking-widest c_h-text--lg-fluid text-yellow-500">Integrations</h1><h2 class="c_h-heading dark:text-white c_h-heading--5xl-fluid text-balance">Send to issue tracker</h2><p class="undefined text-gray-700 dark:text-white dark:opacity-80 c_h-text--xl-fluid">Create and send issues to your favorite issue trackers with a single click.</p></div><div><hr class="my-8 w-24 dark:border-white dark:opacity-25"/><ul class="grid grid-cols-2 gap-3 text-gray-700 dark:text-white"><li class="flex items-center space-x-3"><img loading="lazy" width="20" height="16" decoding="async" data-nimg="1" class="text-yellow-500" style="color:transparent" src="/assets/pages/javascript/integrations/asana-yellow.svg"/><span class="dark:opacity-75">Asana</span></li><li class="flex items-center space-x-3"><img loading="lazy" width="20" height="16" decoding="async" data-nimg="1" class="text-yellow-500" style="color:transparent" src="/assets/pages/javascript/integrations/clubhouse-yellow.svg"/><span class="dark:opacity-75">Shortcut</span></li><li class="flex items-center space-x-3"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="github" class="svg-inline--fa fa-github fa-fw text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg><span class="dark:opacity-75">GitHub</span></li><li class="flex items-center space-x-3"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="gitlab" class="svg-inline--fa fa-gitlab fa-fw text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M503.5 204.6L502.8 202.8L433.1 21.02C431.7 17.45 429.2 14.43 425.9 12.38C423.5 10.83 420.8 9.865 417.9 9.57C415 9.275 412.2 9.653 409.5 10.68C406.8 11.7 404.4 13.34 402.4 15.46C400.5 17.58 399.1 20.13 398.3 22.9L351.3 166.9H160.8L113.7 22.9C112.9 20.13 111.5 17.59 109.6 15.47C107.6 13.35 105.2 11.72 102.5 10.7C99.86 9.675 96.98 9.295 94.12 9.587C91.26 9.878 88.51 10.83 86.08 12.38C82.84 14.43 80.33 17.45 78.92 21.02L9.267 202.8L8.543 204.6C-1.484 230.8-2.72 259.6 5.023 286.6C12.77 313.5 29.07 337.3 51.47 354.2L51.74 354.4L52.33 354.8L158.3 434.3L210.9 474L242.9 498.2C246.6 500.1 251.2 502.5 255.9 502.5C260.6 502.5 265.2 500.1 268.9 498.2L300.9 474L353.5 434.3L460.2 354.4L460.5 354.1C482.9 337.2 499.2 313.5 506.1 286.6C514.7 259.6 513.5 230.8 503.5 204.6z"></path></svg><span class="dark:opacity-75">GitLab</span></li><li class="flex items-center space-x-3"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="jira" class="svg-inline--fa fa-jira fa-fw text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M490 241.7C417.1 169 320.6 71.8 248.5 0 83 164.9 6 241.7 6 241.7c-7.9 7.9-7.9 20.7 0 28.7C138.8 402.7 67.8 331.9 248.5 512c379.4-378 15.7-16.7 241.5-241.7 8-7.9 8-20.7 0-28.6zm-241.5 90l-76-75.7 76-75.7 76 75.7-76 75.7z"></path></svg><span class="dark:opacity-75">Jira</span></li><li class="flex items-center space-x-3"><img loading="lazy" width="20" height="16" decoding="async" data-nimg="1" class="text-yellow-500" style="color:transparent" src="/assets/pages/javascript/integrations/pivotal-tracker-yellow.svg"/><span class="dark:opacity-75">Pivotal Tracker</span></li><li class="flex items-center space-x-3"><img loading="lazy" width="20" height="16" decoding="async" data-nimg="1" class="text-yellow-500" style="color:transparent" src="/assets/pages/javascript/integrations/phabricator-yellow.svg"/><span class="dark:opacity-75">Phabricator</span></li><li class="flex items-center space-x-3"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="trello" class="svg-inline--fa fa-trello fa-fw text-yellow-500" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M392.3 32H56.1C25.1 32 0 57.1 0 88c-.1 0 0-4 0 336 0 30.9 25.1 56 56 56h336.2c30.8-.2 55.7-25.2 55.7-56V88c.1-30.8-24.8-55.8-55.6-56zM197 371.3c-.2 14.7-12.1 26.6-26.9 26.6H87.4c-14.8.1-26.9-11.8-27-26.6V117.1c0-14.8 12-26.9 26.9-26.9h82.9c14.8 0 26.9 12 26.9 26.9v254.2zm193.1-112c0 14.8-12 26.9-26.9 26.9h-81c-14.8 0-26.9-12-26.9-26.9V117.2c0-14.8 12-26.9 26.8-26.9h81.1c14.8 0 26.9 12 26.9 26.9v142.1z"></path></svg><span class="dark:opacity-75">Trello</span></li></ul></div></div></div><div class="relative c-container grid grid-cols-1 md:grid-cols-2 gap-8 md:gap-20 items-center max-w-7xl"><div class="col-span-1 order-1 md:order-2"><img alt="Use breadcrumbs for a full user context" loading="lazy" width="552" height="440" decoding="async" data-nimg="1" class="2xl:ml-auto c_h-box c_h-box--gray" style="color:transparent" sizes="(min-width: 768px) 552px, 100vw" srcSet="/_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fbreadcrumbs.jpg&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fbreadcrumbs.jpg&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fbreadcrumbs.jpg&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fbreadcrumbs.jpg&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fbreadcrumbs.jpg&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fbreadcrumbs.jpg&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fbreadcrumbs.jpg&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fbreadcrumbs.jpg&amp;w=2640&amp;q=75 2640w" src="/_next/image?url=%2Fassets%2Fpages%2Fjavascript%2Fbreadcrumbs.jpg&amp;w=2640&amp;q=75"/></div><div class="col-span-1 xl:pr-8 order-2 md:order-1"><div class="relative self-center space-y-4 mx-auto"><h1 class="c_h-heading c_h-heading--caps font-normal tracking-widest c_h-text--lg-fluid text-yellow-500">Breadcrumbs</h1><h2 class="c_h-heading dark:text-white c_h-heading--5xl-fluid text-balance">Use breadcrumbs for a full user context</h2><p class="undefined text-gray-700 dark:text-white dark:opacity-80 c_h-text--xl-fluid">Front-end errors can be quirky. That’s why we track what users did before the error occurred.</p></div></div></div></section><section class="relative py-16 md:py-24 bg-gray-900 dark"><div class="relative c-container max-w-5xl space-y-4 text-center border-gray-200 dark:border-gray-800 dark:text-white rounded-lg"><div class="relative self-center space-y-4 mx-auto"><h2 class="c_h-heading dark:text-white c_h-heading--5xl-fluid text-balance">What our customers think</h2><p class="max-w-2xl text-gray-700 dark:text-white dark:opacity-80 c_h-text--xl-fluid">1500+ development teams rely on AppSignal to ship code with confidence. We are sharing a few of their stories with you.</p></div><p class="pb-10"><a class="c-button c-button--white c-button--sm" href="/customers">Read customer stories →</a></p><ul class="max-w-5xl grid sm:grid-cols-2 md:grid-cols-4 dark:text-white border-gray-200 dark:border-white dark:border-opacity-10 gap-4 text-center text-sm mb-10"></ul><ul class="relative flex flex-wrap justify-center items-center text-center"><li class="w-1/2 sm:w-auto p-4"><span class="dark:block w-full mx-auto"><img alt="Logo of Depfu" loading="lazy" width="84" height="33" decoding="async" data-nimg="1" style="color:transparent" src="/assets/components/logos/logo-depfu-dark.svg"/></span></li><li class="w-1/2 sm:w-auto p-4"><span class="dark:block w-full mx-auto"><img alt="Logo of Moneybird" loading="lazy" width="144" height="24" decoding="async" data-nimg="1" style="color:transparent" src="/assets/components/logos/logo-moneybird-dark.svg"/></span></li><li class="w-1/2 sm:w-auto p-4"><span class="dark:block w-full mx-auto"><img alt="Logo of Userlist" loading="lazy" width="95" height="28" decoding="async" data-nimg="1" style="color:transparent" src="/assets/components/logos/logo-userlist-dark.svg"/></span></li><li class="w-1/2 sm:w-auto p-4"><span class="dark:block w-full mx-auto"><img alt="Logo of Codesandbox" loading="lazy" width="29" height="33" decoding="async" data-nimg="1" style="color:transparent" src="/assets/components/logos/logo-codesandbox-dark.svg"/></span></li></ul></div></section><section class="relative py-24 xl:py-32 space-y-20"><div class="c-container"><header class="relative self-center space-y-4 text-left sm:text-center mx-auto max-w-5xl"><h1 class="c_h-heading c_h-heading--caps font-normal tracking-widest c_h-text--lg-fluid text-gray-700 dark:text-gray-200">5-Minute APM</h1><h2 class="c_h-heading dark:text-white c_h-heading--7xl-fluid leading-tighter text-balance">Installation without <br/> the frustration</h2><p class="undefined text-gray-700 dark:text-white dark:opacity-80 c_h-text--2xl-fluid">AppSignal is built for ease of use. The installation is effortless and we&#x27;ll set most things up automatically. You&#x27;ll be monitoring exceptions and javascript in no-time.</p></header></div><div class="prose md:prose-xl mx-auto"><figure data-rehype-pretty-code-figure=""><div class="relative my-8 group-[.is-breakout]:md:my-10 group-[.is-breakout]:md:-mx-12 dark:border dark:border-gray-200 dark:rounded-lg"><div class="group-[.code-header-hidden]:hidden absolute top-0 inset-x-0 bg-gray-800 dark:bg-white text-white dark:text-gray-900 rounded-t-lg overflow-hidden"><div class="flex items-center justify-between pr-4 font-mono text-sm dark:border-b dark:border-gray-200"><div class="h-10"><div class="group-[.is-code-tabs]:hidden flex items-center h-[41px] px-4 sm:px-6 bg-gray-900 dark:bg-gray-100 dark:text-gray-900 dark:border-r dark:border-gray-200">JavaScript</div></div><div class="flex items-center"><button class="group/svg group-[.is-code-tabs]:invisible sm:group-[.is-code-tabs]:visible w-6 h-6 pr-1 -mr-1 flex justify-end items-center hover:cursor-pointer"><svg width="13" height="15" viewBox="0 0 13 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path class="transition fill-gray-300 group-hover/svg:fill-white dark:fill-gray-500 group-hover/svg:dark:fill-gray-600" d="M8.75 13H4.15625C3.30859 13 2.625 12.3164 2.625 11.4688V3.375H0.65625C0.273438 3.375 0 3.67578 0 4.03125V14.0938C0 14.4766 0.273438 14.75 0.65625 14.75H8.09375C8.44922 14.75 8.75 14.4766 8.75 14.0938V13ZM8.75 3.59375V0.75H4.15625C3.77344 0.75 3.5 1.05078 3.5 1.40625V11.4688C3.5 11.8516 3.77344 12.125 4.15625 12.125H11.5938C11.9492 12.125 12.25 11.8516 12.25 11.4688V4.25H9.40625C9.02344 4.25 8.75 3.97656 8.75 3.59375ZM12.0312 2.74609L10.2539 0.96875C10.1172 0.832031 9.95312 0.75 9.78906 0.75H9.625V3.375H12.25V3.21094C12.25 3.04688 12.168 2.88281 12.0312 2.74609Z"></path></svg></button></div></div></div><pre tabindex="0" data-language="js" data-theme="github-dark github-light" data-raw="// Install AppSignal yarn add @appsignal/javascript npm install --save @appsignal/javascript // Initialize AppSignal import Appsignal from &quot;@appsignal/javascript&quot; // For ES Module const Appsignal = require(&quot;@appsignal/javascript&quot;).default // For CommonJS module const appsignal = new Appsignal({ key: &quot;YOUR FRONTEND API KEY&quot; }) " class="z-0 !m-0 !pl-4 dark:bg-gray-100"><div class="sm:px-2 pt-10 group-[.code-header-hidden]:pt-0"><code data-language="js" data-theme="github-dark github-light" style="display:grid"><span data-line=""><span style="--shiki-dark:#6A737D;--shiki-light:#6A737D">// Install AppSignal</span></span> <span data-line=""><span style="--shiki-dark:#E1E4E8;--shiki-light:#24292E">yarn add @appsignal</span><span style="--shiki-dark:#F97583;--shiki-light:#D73A49">/</span><span style="--shiki-dark:#E1E4E8;--shiki-light:#24292E">javascript</span></span> <span data-line=""><span style="--shiki-dark:#E1E4E8;--shiki-light:#24292E">npm install </span><span style="--shiki-dark:#F97583;--shiki-light:#D73A49">--</span><span style="--shiki-dark:#E1E4E8;--shiki-light:#24292E">save @appsignal</span><span style="--shiki-dark:#F97583;--shiki-light:#D73A49">/</span><span style="--shiki-dark:#E1E4E8;--shiki-light:#24292E">javascript</span></span> <span data-line=""> </span> <span data-line=""><span style="--shiki-dark:#6A737D;--shiki-light:#6A737D">// Initialize AppSignal</span></span> <span data-line=""><span style="--shiki-dark:#F97583;--shiki-light:#D73A49">import</span><span style="--shiki-dark:#E1E4E8;--shiki-light:#24292E"> Appsignal </span><span style="--shiki-dark:#F97583;--shiki-light:#D73A49">from</span><span style="--shiki-dark:#9ECBFF;--shiki-light:#032F62"> &quot;@appsignal/javascript&quot;</span><span style="--shiki-dark:#6A737D;--shiki-light:#6A737D"> // For ES Module</span></span> <span data-line=""><span style="--shiki-dark:#F97583;--shiki-light:#D73A49">const</span><span style="--shiki-dark:#79B8FF;--shiki-light:#005CC5"> Appsignal</span><span style="--shiki-dark:#F97583;--shiki-light:#D73A49"> =</span><span style="--shiki-dark:#B392F0;--shiki-light:#6F42C1"> require</span><span style="--shiki-dark:#E1E4E8;--shiki-light:#24292E">(</span><span style="--shiki-dark:#9ECBFF;--shiki-light:#032F62">&quot;@appsignal/javascript&quot;</span><span style="--shiki-dark:#E1E4E8;--shiki-light:#24292E">).default </span><span style="--shiki-dark:#6A737D;--shiki-light:#6A737D">// For CommonJS module</span></span> <span data-line=""> </span> <span data-line=""><span style="--shiki-dark:#F97583;--shiki-light:#D73A49">const</span><span style="--shiki-dark:#79B8FF;--shiki-light:#005CC5"> appsignal</span><span style="--shiki-dark:#F97583;--shiki-light:#D73A49"> =</span><span style="--shiki-dark:#F97583;--shiki-light:#D73A49"> new</span><span style="--shiki-dark:#B392F0;--shiki-light:#6F42C1"> Appsignal</span><span style="--shiki-dark:#E1E4E8;--shiki-light:#24292E">({</span></span> <span data-line=""><span style="--shiki-dark:#E1E4E8;--shiki-light:#24292E"> key: </span><span style="--shiki-dark:#9ECBFF;--shiki-light:#032F62">&quot;YOUR FRONTEND API KEY&quot;</span></span> <span data-line=""><span style="--shiki-dark:#E1E4E8;--shiki-light:#24292E">})</span></span></code></div></pre></div></figure></div></section><section class="relative py-24 xl:py-32 bg-white"><div class="relative c-container grid grid-cols-1 md:grid-cols-2 md:gap-x-6 xl:gap-x-12 max-w-5xl"><div class="flex break-inside-avoid mb-6 md:mb-12"><figure class="c_h-icon-box c_h-icon-box--green md:c_h-icon-box--lg flex-shrink-0 mr-4 md:mr-6"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="check" class="svg-inline--fa fa-check " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"></path></svg></figure><div><div class="relative self-center space-y-3 mx-auto"><h3 class="c_h-heading dark:text-white c_h-heading--2xl-fluid text-balance">Lightweight agent</h3><p class="undefined text-gray-700 dark:text-white dark:opacity-80 text-lg sm:text-xl">AppSignal&#x27;s monitoring agent is built with Rust. It&#x27;s lightweight, stable and already runs in thousands of applications.</p></div></div></div><div class="flex break-inside-avoid mb-6 md:mb-12"><figure class="c_h-icon-box c_h-icon-box--green md:c_h-icon-box--lg flex-shrink-0 mr-4 md:mr-6"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="check" class="svg-inline--fa fa-check " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"></path></svg></figure><div><div class="relative self-center space-y-3 mx-auto"><h3 class="c_h-heading dark:text-white c_h-heading--2xl-fluid text-balance">Dev-to-dev support</h3><p class="undefined text-gray-700 dark:text-white dark:opacity-80 text-lg sm:text-xl">If you need us, we’re there for you. We’re committed to making AppSignal monitoring great for you and your team.</p></div></div></div><div class="flex break-inside-avoid mb-6 md:mb-12"><figure class="c_h-icon-box c_h-icon-box--green md:c_h-icon-box--lg flex-shrink-0 mr-4 md:mr-6"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="check" class="svg-inline--fa fa-check " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"></path></svg></figure><div><div class="relative self-center space-y-3 mx-auto"><h3 class="c_h-heading dark:text-white c_h-heading--2xl-fluid text-balance">GDPR Compatible</h3><p class="undefined text-gray-700 dark:text-white dark:opacity-80 text-lg sm:text-xl">Got customers in the EU? Our data processing is GDPR compliant.</p></div></div></div><div class="flex break-inside-avoid mb-6 md:mb-12"><figure class="c_h-icon-box c_h-icon-box--green md:c_h-icon-box--lg flex-shrink-0 mr-4 md:mr-6"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="check" class="svg-inline--fa fa-check " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"></path></svg></figure><div><div class="relative self-center space-y-3 mx-auto"><h3 class="c_h-heading dark:text-white c_h-heading--2xl-fluid text-balance">99.999% Uptime</h3><p class="undefined text-gray-700 dark:text-white dark:opacity-80 text-lg sm:text-xl">If there’s one thing you need to trust, it’s your APM. We&#x27;re ready to help you monitor, at every scale.</p></div></div></div></div></section><section class="relative py-24 xl:py-32 space-y-20"><div class="c-container"><header class="relative self-center max-w-4xl space-y-4 text-left sm:text-center mx-auto"><h1 class="c_h-heading c_h-heading--caps font-normal tracking-widest c_h-text--lg-fluid text-gray-700 dark:text-gray-200">JavaScript blog</h1><h2 class="c_h-heading dark:text-white c_h-heading--7xl-fluid leading-tighter text-balance">Our best JavaScript articles</h2><p class="undefined text-gray-700 dark:text-white dark:opacity-80 c_h-text--2xl-fluid">AppSignal writes high-quality articles about programming in JavaScript on our blog. This is a collection of our best articles.</p></header></div><div class="c-container grid gap gap-4 md:gap-6 lg:gap-8 md:grid-cols-2 lg:grid-cols-2 max-w-5xl undefined "><a class="no-underline " target="_blank" rel="noreferrer" href="https://blog.appsignal.com/2024/12/17/appsignals-top-5-javascript-posts-in-2024.html"><div class="flex flex-col h-full overflow-hidden no-underline rounded-lg shadow-sm c_h-box--hover c_h-box c_h-box--white"><figure class="relative h-48 sm:h-64"><img alt="Image of AppSignal’s Top 5 JavaScript Posts in 2024" loading="lazy" decoding="async" data-nimg="fill" class="object-cover object-center" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(min-width: 768px) 496px, 100vw" srcSet="/_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-12%2Ftop-5-node.jpg&amp;w=640&amp;q=75 640w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-12%2Ftop-5-node.jpg&amp;w=750&amp;q=75 750w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-12%2Ftop-5-node.jpg&amp;w=828&amp;q=75 828w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-12%2Ftop-5-node.jpg&amp;w=1080&amp;q=75 1080w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-12%2Ftop-5-node.jpg&amp;w=1200&amp;q=75 1200w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-12%2Ftop-5-node.jpg&amp;w=1920&amp;q=75 1920w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-12%2Ftop-5-node.jpg&amp;w=2048&amp;q=75 2048w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-12%2Ftop-5-node.jpg&amp;w=2640&amp;q=75 2640w" src="/_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-12%2Ftop-5-node.jpg&amp;w=2640&amp;q=75"/></figure><div class="flex-grow flex flex-col justify-between p-6"><div><div class="space-y-3"><h3 class="c_h-heading dark:text-white c_h-text--2xl-fluid">AppSignal’s Top 5 JavaScript Posts in 2024</h3><p class="text-gray-700 dark:text-white text-lg">Check out the 5 JavaScript posts that really stood out on our blog in 2024.</p></div></div><div class="block w-max c-button c-button--white c-button--sm md:text-lg mt-5">Read more</div></div></div></a><a class="no-underline " target="_blank" rel="noreferrer" href="https://blog.appsignal.com/2024/12/11/a-deep-dive-into-commonjs-and-es-modules-in-nodejs.html"><div class="flex flex-col h-full overflow-hidden no-underline rounded-lg shadow-sm c_h-box--hover c_h-box c_h-box--white"><figure class="relative h-48 sm:h-64"><img alt="Image of A Deep Dive Into CommonJS and ES Modules in Node.js" loading="lazy" decoding="async" data-nimg="fill" class="object-cover object-center" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(min-width: 768px) 496px, 100vw" srcSet="/_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-12%2Fcommon-js-es.jpg&amp;w=640&amp;q=75 640w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-12%2Fcommon-js-es.jpg&amp;w=750&amp;q=75 750w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-12%2Fcommon-js-es.jpg&amp;w=828&amp;q=75 828w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-12%2Fcommon-js-es.jpg&amp;w=1080&amp;q=75 1080w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-12%2Fcommon-js-es.jpg&amp;w=1200&amp;q=75 1200w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-12%2Fcommon-js-es.jpg&amp;w=1920&amp;q=75 1920w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-12%2Fcommon-js-es.jpg&amp;w=2048&amp;q=75 2048w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-12%2Fcommon-js-es.jpg&amp;w=2640&amp;q=75 2640w" src="/_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-12%2Fcommon-js-es.jpg&amp;w=2640&amp;q=75"/></figure><div class="flex-grow flex flex-col justify-between p-6"><div><div class="space-y-3"><h3 class="c_h-heading dark:text-white c_h-text--2xl-fluid">A Deep Dive Into CommonJS and ES Modules in Node.js</h3><p class="text-gray-700 dark:text-white text-lg">While CommonJS has served the Node community well, ES modules are rapidly gaining traction. Let&#x27;s take a deep dive into both.</p></div></div><div class="block w-max c-button c-button--white c-button--sm md:text-lg mt-5">Read more</div></div></div></a><a class="no-underline " target="_blank" rel="noreferrer" href="https://blog.appsignal.com/2024/11/27/unit-testing-in-nodejs-with-jest.html"><div class="flex flex-col h-full overflow-hidden no-underline rounded-lg shadow-sm c_h-box--hover c_h-box c_h-box--white"><figure class="relative h-48 sm:h-64"><img alt="Image of Unit Testing in Node.js With Jest" loading="lazy" decoding="async" data-nimg="fill" class="object-cover object-center" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(min-width: 768px) 496px, 100vw" srcSet="/_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-11%2Fjest-unit-tests.jpg&amp;w=640&amp;q=75 640w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-11%2Fjest-unit-tests.jpg&amp;w=750&amp;q=75 750w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-11%2Fjest-unit-tests.jpg&amp;w=828&amp;q=75 828w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-11%2Fjest-unit-tests.jpg&amp;w=1080&amp;q=75 1080w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-11%2Fjest-unit-tests.jpg&amp;w=1200&amp;q=75 1200w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-11%2Fjest-unit-tests.jpg&amp;w=1920&amp;q=75 1920w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-11%2Fjest-unit-tests.jpg&amp;w=2048&amp;q=75 2048w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-11%2Fjest-unit-tests.jpg&amp;w=2640&amp;q=75 2640w" src="/_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-11%2Fjest-unit-tests.jpg&amp;w=2640&amp;q=75"/></figure><div class="flex-grow flex flex-col justify-between p-6"><div><div class="space-y-3"><h3 class="c_h-heading dark:text-white c_h-text--2xl-fluid">Unit Testing in Node.js With Jest</h3><p class="text-gray-700 dark:text-white text-lg">Jest has become one of the most popular solutions when unit testing in Node: let&#x27;s see why.</p></div></div><div class="block w-max c-button c-button--white c-button--sm md:text-lg mt-5">Read more</div></div></div></a><a class="no-underline " target="_blank" rel="noreferrer" href="https://blog.appsignal.com/2024/11/20/avoiding-false-positives-in-nodejs-tests.html"><div class="flex flex-col h-full overflow-hidden no-underline rounded-lg shadow-sm c_h-box--hover c_h-box c_h-box--white"><figure class="relative h-48 sm:h-64"><img alt="Image of Avoiding False Positives in Node.js Tests" loading="lazy" decoding="async" data-nimg="fill" class="object-cover object-center" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(min-width: 768px) 496px, 100vw" srcSet="/_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-11%2Ffalse-postives-node.jpg&amp;w=640&amp;q=75 640w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-11%2Ffalse-postives-node.jpg&amp;w=750&amp;q=75 750w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-11%2Ffalse-postives-node.jpg&amp;w=828&amp;q=75 828w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-11%2Ffalse-postives-node.jpg&amp;w=1080&amp;q=75 1080w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-11%2Ffalse-postives-node.jpg&amp;w=1200&amp;q=75 1200w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-11%2Ffalse-postives-node.jpg&amp;w=1920&amp;q=75 1920w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-11%2Ffalse-postives-node.jpg&amp;w=2048&amp;q=75 2048w, /_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-11%2Ffalse-postives-node.jpg&amp;w=2640&amp;q=75 2640w" src="/_next/image?url=https%3A%2F%2Fblog.appsignal.com%2Fimages%2Fblog%2F2024-11%2Ffalse-postives-node.jpg&amp;w=2640&amp;q=75"/></figure><div class="flex-grow flex flex-col justify-between p-6"><div><div class="space-y-3"><h3 class="c_h-heading dark:text-white c_h-text--2xl-fluid">Avoiding False Positives in Node.js Tests</h3><p class="text-gray-700 dark:text-white text-lg">Let&#x27;s examine several common false positive patterns that can crop up in Node.js test suites.</p></div></div><div class="block w-max c-button c-button--white c-button--sm md:text-lg mt-5">Read more</div></div></div></a></div></section><section class="relative py-12 md:py-16 bg-gray-800 dark"><div class="relative c-container space-y-5 text-center text-white"><div class="relative self-center space-y-4 mx-auto max-w-xl"><h1 class="c_h-heading c_h-heading--caps font-normal tracking-widest c_h-text--lg-fluid text-gray-300">Start your free trial</h1><h2 class="c_h-heading dark:text-white c_h-heading--5xl-fluid text-balance">Don’t let the bad bugs bite. Try AppSignal for free.</h2><p class="undefined text-gray-700 dark:text-white dark:opacity-80 c_h-text--xl-fluid">AppSignal offers a 30-day free trial, no credit card is required. All features are available in all plans. Start monitoring your application in just a few clicks!</p></div><div class="flex gap-x-4 gap-y-2 flex-wrap justify-center"><a class="c-button c-button--base" href="https://appsignal.com/users/sign_up">Start free trial</a><a class="c-button c-button--base c-button--gray" href="/plans">View pricing</a></div></div></section><!--$--><footer class="relative px-4 py-16 sm:pt-20 xl:pb-28 dark text-gray-300 bg-gray-900"><div class="c-container"><div class="grid grid-cols-1 sm:grid-cols-2 xl:grid-cols-4 gap-x-12 gap-y-10"><div class="col-span-1"><h2 class="text-white uppercase tracking-wider font-medium border-b border-gray-700 pb-3 mb-4">Features</h2><ul class="space-y-2"><li><div class="flex items-center space-x-3"><span class="h-4 w-4 flex justify-center items-center"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="bug" class="svg-inline--fa fa-bug " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0c53 0 96 43 96 96v3.6c0 15.7-12.7 28.4-28.4 28.4H188.4c-15.7 0-28.4-12.7-28.4-28.4V96c0-53 43-96 96-96zM41.4 105.4c12.5-12.5 32.8-12.5 45.3 0l64 64c.7 .7 1.3 1.4 1.9 2.1c14.2-7.3 30.4-11.4 47.5-11.4H312c17.1 0 33.2 4.1 47.5 11.4c.6-.7 1.2-1.4 1.9-2.1l64-64c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-64 64c-.7 .7-1.4 1.3-2.1 1.9c6.2 12 10.1 25.3 11.1 39.5H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H416c0 24.6-5.5 47.8-15.4 68.6c2.2 1.3 4.2 2.9 6 4.8l64 64c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-63.1-63.1c-24.5 21.8-55.8 36.2-90.3 39.6V240c0-8.8-7.2-16-16-16s-16 7.2-16 16V479.2c-34.5-3.4-65.8-17.8-90.3-39.6L86.6 502.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l64-64c1.9-1.9 3.9-3.4 6-4.8C101.5 367.8 96 344.6 96 320H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H96.3c1.1-14.1 5-27.5 11.1-39.5c-.7-.6-1.4-1.2-2.1-1.9l-64-64c-12.5-12.5-12.5-32.8 0-45.3z"></path></svg></span><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/tour/errors">Error tracking</a></div></div></li><li><div class="flex items-center space-x-3"><span class="h-4 w-4 flex justify-center items-center"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="rabbit-running" class="svg-inline--fa fa-rabbit-running " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M460.7 39.3l-2.2-2.1c-4.7-4.6-11.5-6.4-17.9-4.7s-11.4 6.6-13.1 13l-.8 2.9c-3.3 11.8-5.1 23.7-5.5 35.6c24.3 20.6 42.9 47.8 53.3 78.8c-8.2-1.9-16.5-2.9-25-2.9c-.6 0-1.1 0-1.7 0c-18.4-44-56.5-77.4-103.6-89.3l-3.4-.9c-6.2-1.6-12.9-.6-18.5 2.6c-10.8 6.2-15.6 19.5-11.2 31.1c14.9 39.5 44.3 71.4 81.4 89.7c-3.7 6.6-6.4 14-7.6 21.8L279.7 154.9C248.8 137.3 213.8 128 178.2 128c-32.3 0-62.2 16.8-78.9 44.4C89 159.9 73.4 152 56 152c-30.9 0-56 25.1-56 56s25.1 56 56 56c11.3 0 21.8-3.3 30.6-9.1c4.9 17.2 14.5 33.1 28.4 45.9L257.2 431.2C269 442 284.4 448 300.4 448H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H352 335.2 320V340.5c0-42.9-28.4-80.5-69.6-92.3l-30.8-8.8c-8.5-2.4-13.4-11.3-11-19.8s11.3-13.4 19.8-11l30.8 8.8c55 15.7 92.8 65.9 92.8 123.1v15.7l56-32.4 6.4-3.7H515.7c33.3 0 60.3-27 60.3-60.3c0-18.1-8.2-35.3-22.2-46.7l-34.6-28.2c-4.6-3.7-9.4-7.1-14.5-10c8.4-49.3-7.8-100-43.9-135.5zm-318.5 382c-14.7 9.8-18.7 29.7-8.9 44.4s29.7 18.7 44.4 8.9l46-30.7-48.6-44.5-32.9 22zM480 240a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z"></path></svg></span><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/tour/performance">Performance monitoring</a></div></div></li><li><div class="flex items-center space-x-3"><span class="h-4 w-4 flex justify-center items-center"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="server" class="svg-inline--fa fa-server " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm48 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"></path></svg></span><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/tour/hosts">Host monitoring</a></div></div></li><li><div class="flex items-center space-x-3"><span class="h-4 w-4 flex justify-center items-center"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="siren-on" class="svg-inline--fa fa-siren-on " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M69.3 36l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3s22.3-14 33.3-6.7zM597.3 76l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zM24 192H88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm528 0h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H552c-13.3 0-24-10.7-24-24s10.7-24 24-24zM144 352l25-199.9c4-32 31.2-56.1 63.5-56.1h175c32.3 0 59.5 24 63.5 56.1L496 352H234.1l21.8-174c1.1-8.8-5.1-16.8-13.9-17.9s-16.8 5.1-17.9 13.9L201.9 352H144zM96 416c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V416z"></path></svg></span><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/tour/anomaly-detection">Anomaly detection</a></div></div></li><li><div class="flex items-center space-x-3"><span class="h-4 w-4 flex justify-center items-center"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="traffic-light" class="svg-inline--fa fa-traffic-light " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M64 0C28.7 0 0 28.7 0 64V352c0 88.4 71.6 160 160 160s160-71.6 160-160V64c0-35.3-28.7-64-64-64H64zm96 416a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm48-176a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-48-80a48 48 0 1 1 0-96 48 48 0 1 1 0 96z"></path></svg></span><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/tour/uptime-monitoring">Uptime monitoring</a></div></div></li><li><div class="flex items-center space-x-3"><span class="h-4 w-4 flex justify-center items-center"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="gauge-high" class="svg-inline--fa fa-gauge-high " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"></path></svg></span><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/tour/metrics">Metric dashboards</a></div></div></li><li><div class="flex items-center space-x-3"><span class="h-4 w-4 flex justify-center items-center"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="users" class="svg-inline--fa fa-users " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H405.3zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352H378.7C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z"></path></svg></span><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/tour/workflow">Workflow</a></div></div></li><li><div class="flex items-center space-x-3"><span class="h-4 w-4 flex justify-center items-center"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="line-columns" class="svg-inline--fa fa-line-columns " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M224 64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H192c17.7 0 32-14.3 32-32zm0 128c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H192c17.7 0 32-14.3 32-32zM0 320c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM224 448c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H192c17.7 0 32-14.3 32-32zM288 64c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zM512 192c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32zM288 320c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-17.7 0-32 14.3-32 32zM512 448c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32z"></path></svg></span><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/tour/log-management">Log management</a></div></div></li><li><div class="flex items-center space-x-3"><span class="h-4 w-4 flex justify-center items-center"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="gauge-high" class="svg-inline--fa fa-gauge-high " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"></path></svg></span><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/tour/automated-dashboards">Automated Dashboards</a></div></div></li><li><div class="flex items-center space-x-3"><span class="h-4 w-4 flex justify-center items-center"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="square-check" class="svg-inline--fa fa-square-check " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"></path></svg></span><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/tour/check-ins">Check-ins</a></div></div></li><li><div class="flex items-center space-x-3"><span class="h-4 w-4 flex justify-center items-center"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="user-secret" class="svg-inline--fa fa-user-secret " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224 16c-6.7 0-10.8-2.8-15.5-6.1C201.9 5.4 194 0 176 0c-30.5 0-52 43.7-66 89.4C62.7 98.1 32 112.2 32 128c0 14.3 25 27.1 64.6 35.9c-.4 4-.6 8-.6 12.1c0 17 3.3 33.2 9.3 48H45.4C38 224 32 230 32 237.4c0 1.7 .3 3.4 1 5l38.8 96.9C28.2 371.8 0 423.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7c0-58.5-28.2-110.4-71.7-143L415 242.4c.6-1.6 1-3.3 1-5c0-7.4-6-13.4-13.4-13.4H342.7c6-14.8 9.3-31 9.3-48c0-4.1-.2-8.1-.6-12.1C391 155.1 416 142.3 416 128c0-15.8-30.7-29.9-78-38.6C324 43.7 302.5 0 272 0c-18 0-25.9 5.4-32.5 9.9c-4.8 3.3-8.8 6.1-15.5 6.1zm56 208H267.6c-16.5 0-31.1-10.6-36.3-26.2c-2.3-7-12.2-7-14.5 0c-5.2 15.6-19.9 26.2-36.3 26.2H168c-22.1 0-40-17.9-40-40V169.6c28.2 4.1 61 6.4 96 6.4s67.8-2.3 96-6.4V184c0 22.1-17.9 40-40 40zm-88 96l16 32L176 480 128 288l64 32zm128-32L272 480 240 352l16-32 64-32z"></path></svg></span><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/tour/time-detective">Time Detective</a></div></div></li></ul></div><div class="col-span-1"><h2 class="text-white uppercase tracking-wider font-medium border-b border-gray-700 pb-3 mb-4">Resources</h2><ul class="space-y-2"><li><div class="flex items-center space-x-3"><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/plans">Plans &amp; pricing</a></div></div></li><li><div class="flex items-center space-x-3"><div><a href="https://docs.appsignal.com/" class="no-underline text-white undefined sm:text-lg hover:underline">Documentation</a></div></div></li><li><div class="flex items-center space-x-3"><div><a href="https://blog.appsignal.com/" class="no-underline text-white undefined sm:text-lg hover:underline">Blog</a></div></div></li><li><div class="flex items-center space-x-3"><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/customers">Customer Stories</a></div></div></li><li><div class="flex items-center space-x-3"><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/alternative/datadog-alternative">Compare AppSignal to Datadog</a></div></div></li><li><div class="flex items-center space-x-3"><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/alternative/new-relic-alternative">Compare AppSignal to New Relic</a></div></div></li><li><div class="flex items-center space-x-3"><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/alternative/sentry-alternative">Compare AppSignal to Sentry</a></div></div></li><li><div class="flex items-center space-x-3"><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/changelog">Changelog</a></div></div></li><li><div class="flex items-center space-x-3"><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/learning-center">Learning Center</a></div></div></li><li><div class="flex items-center space-x-3"><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/why">Why AppSignal</a></div></div></li></ul></div><div class="col-span-1"><h2 class="text-white uppercase tracking-wider font-medium border-b border-gray-700 pb-3 mb-4">Support</h2><p class="text-sm mb-4">Do you need help, have a feature request or just need someone to rubber duck with? Get in touch with one of our engineers.</p><ul class="space-y-2"><li><div class="flex items-center space-x-3"><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/contact">Contact us</a></div></div></li><li><div class="flex items-center space-x-3"><div><a href="mailto:support@appsignal.com" class="no-underline text-white undefined sm:text-lg hover:underline">Live chat</a></div></div></li><li><div class="flex items-center space-x-3"><div><a href="https://status.appsignal.com/" class="no-underline text-white undefined sm:text-lg hover:underline">Status</a></div></div></li><li><div class="flex items-center space-x-3"><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/security">Security</a></div></div></li></ul></div><div class="col-span-1"><h2 class="text-white uppercase tracking-wider font-medium border-b border-gray-700 pb-3 mb-4">About us</h2><p class="text-sm mb-4"><span>AppSignal is located in the beautiful Netherlands. We love<!-- --> <a href="/waffles">stroopwafels</a>. If you do too, <a href="mailto:support@appsignal.com">let us know</a>. We might send you some!</span></p><ul class="space-y-2"><li><div class="flex items-center space-x-3"><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/about">About</a></div></div></li><li><div class="flex items-center space-x-3"><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/jobs">Jobs</a></div></div></li><li><div class="flex items-center space-x-3"><div><a href="https://blog.appsignal.com/write-for-us" class="no-underline text-white undefined sm:text-lg hover:underline">Write for Our Blog</a></div></div></li><li><div class="flex items-center space-x-3"><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/diversity">Diversity</a></div></div></li><li><div class="flex items-center space-x-3"><div><a class="no-underline text-white undefined sm:text-lg hover:underline" href="/open-source">Open Source</a></div></div></li><li><div class="flex items-center space-x-3"><div><a href="https://twitter.com/appsignal" class="no-underline text-white undefined sm:text-lg hover:underline">Twitter</a></div></div></li></ul></div><div class="col-span-1 sm:col-span-2 xl:col-span-4"><h2 class="text-white uppercase tracking-wider font-medium border-b border-gray-700 pb-3 mb-4">Languages</h2><div class="grid grid-cols-1 sm:grid-cols-3 gap-6 sm:gap-12"><div class="space-y-6 sm:space-y-12 lg:space-y-0 lg:grid lg:grid-cols-2 lg:gap-12"><ul class="space-y-2"><li><div class="flex items-center space-x-2"><span class="h-4 w-4 flex justify-center items-center"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="gem" class="svg-inline--fa fa-gem " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M116.7 33.8c4.5-6.1 11.7-9.8 19.3-9.8H376c7.6 0 14.8 3.6 19.3 9.8l112 152c6.8 9.2 6.1 21.9-1.5 30.4l-232 256c-4.5 5-11 7.9-17.8 7.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152zm38.5 39.8c-3.3 2.5-4.2 7-2.1 10.5l57.4 95.6L63.3 192c-4.1 .3-7.3 3.8-7.3 8s3.2 7.6 7.3 8l192 16c.4 0 .9 0 1.3 0l192-16c4.1-.3 7.3-3.8 7.3-8s-3.2-7.6-7.3-8L301.5 179.8l57.4-95.6c2.1-3.5 1.2-8.1-2.1-10.5s-7.9-2-10.7 1L256 172.2 165.9 74.6c-2.8-3-7.4-3.4-10.7-1z"></path></svg></span><div><a class="no-underline text-white text-lg sm:text-lg hover:underline" href="/ruby">Ruby</a></div></div><p class="mt-1"><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/active-record-monitoring">Active Record</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/capistrano-monitoring">Capistrano</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/delayed-job-monitoring">Delayed::Job</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/garbage-collection-monitoring">Garbage Collection</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/global-vm-lock-monitoring">Global VM Lock</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/grape-monitoring">Grape</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/graphql-monitoring">GraphQL</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/hanami-monitoring">Hanami</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/mongodb-monitoring">MongoDB</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/padrino-monitoring">Padrino</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/puma-monitoring">Puma</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/que-monitoring">Que</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/rails-monitoring">Ruby on Rails</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/rake-monitoring">Rake</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/resque-monitoring">Resque</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/shoryuken-monitoring">Shoryuken</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/sidekiq-monitoring">Sidekiq</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/sinatra-monitoring">Sinatra</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/solid-queue-monitoring">Solid Queue</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/view-component-monitoring">ViewComponent</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/ruby/webmachine-monitoring">Webmachine</a><span class="sm:hidden"></span></span></p></li></ul><ul class="space-y-2"><li><div class="flex items-center space-x-2"><span class="h-4 w-4 flex justify-center items-center"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="droplet" class="svg-inline--fa fa-droplet " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M192 512C86 512 0 426 0 320C0 228.8 130.2 57.7 166.6 11.7C172.6 4.2 181.5 0 191.1 0h1.8c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM96 336c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z"></path></svg></span><div><a class="no-underline text-white text-lg sm:text-lg hover:underline" href="/elixir">Elixir</a></div></div><p class="mt-1"><span class="sm:block"><a class="no-underline hover:underline" href="/elixir/absinthe-monitoring">Absinthe</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/elixir/ecto-monitoring">Ecto</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/elixir/erlang-monitoring">Erlang</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/elixir/finch-monitoring">Finch</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/elixir/oban-monitoring">Oban</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/elixir/phoenix-monitoring">Phoenix</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/elixir/plug-monitoring">Plug</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/elixir/tesla-monitoring">Tesla</a><span class="sm:hidden"></span></span></p></li></ul></div><div class="space-y-6 sm:space-y-12 lg:space-y-0 lg:grid lg:grid-cols-2 lg:gap-12"><ul class="space-y-2"><li><div class="flex items-center space-x-2"><span class="h-4 w-4 flex justify-center items-center"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="node-js" class="svg-inline--fa fa-node-js " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224 508c-6.7 0-13.5-1.8-19.4-5.2l-61.7-36.5c-9.2-5.2-4.7-7-1.7-8 12.3-4.3 14.8-5.2 27.9-12.7 1.4-.8 3.2-.5 4.6.4l47.4 28.1c1.7 1 4.1 1 5.7 0l184.7-106.6c1.7-1 2.8-3 2.8-5V149.3c0-2.1-1.1-4-2.9-5.1L226.8 37.7c-1.7-1-4-1-5.7 0L36.6 144.3c-1.8 1-2.9 3-2.9 5.1v213.1c0 2 1.1 4 2.9 4.9l50.6 29.2c27.5 13.7 44.3-2.4 44.3-18.7V167.5c0-3 2.4-5.3 5.4-5.3h23.4c2.9 0 5.4 2.3 5.4 5.3V378c0 36.6-20 57.6-54.7 57.6-10.7 0-19.1 0-42.5-11.6l-48.4-27.9C8.1 389.2.7 376.3.7 362.4V149.3c0-13.8 7.4-26.8 19.4-33.7L204.6 9c11.7-6.6 27.2-6.6 38.8 0l184.7 106.7c12 6.9 19.4 19.8 19.4 33.7v213.1c0 13.8-7.4 26.7-19.4 33.7L243.4 502.8c-5.9 3.4-12.6 5.2-19.4 5.2zm149.1-210.1c0-39.9-27-50.5-83.7-58-57.4-7.6-63.2-11.5-63.2-24.9 0-11.1 4.9-25.9 47.4-25.9 37.9 0 51.9 8.2 57.7 33.8.5 2.4 2.7 4.2 5.2 4.2h24c1.5 0 2.9-.6 3.9-1.7s1.5-2.6 1.4-4.1c-3.7-44.1-33-64.6-92.2-64.6-52.7 0-84.1 22.2-84.1 59.5 0 40.4 31.3 51.6 81.8 56.6 60.5 5.9 65.2 14.8 65.2 26.7 0 20.6-16.6 29.4-55.5 29.4-48.9 0-59.6-12.3-63.2-36.6-.4-2.6-2.6-4.5-5.3-4.5h-23.9c-3 0-5.3 2.4-5.3 5.3 0 31.1 16.9 68.2 97.8 68.2 58.4-.1 92-23.2 92-63.4z"></path></svg></span><div><a class="no-underline text-white text-lg sm:text-lg hover:underline" href="/nodejs">Node.js</a></div></div><p class="mt-1"><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/amqplib-monitoring">AMQPlib</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/apollo-gateway-monitoring">Apollo Gateway</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/bullmq-monitoring">BullMQ</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/express-monitoring">Express</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/fastify-monitoring">Fastify</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/graphql-monitoring">GraphQL</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/knexjs-monitoring">Knex.js</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/koa-monitoring">Koa</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/mongodb-monitoring">MongoDB</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/mongoose-monitoring">Mongoose</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/mysql-monitoring">MySQL</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/nestjs-monitoring">NestJS</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/nextjs-monitoring">Next.js</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/pino-monitoring">Pino</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/postgresql-monitoring">PostgreSQL</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/prisma-monitoring">Prisma</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/redis-monitoring">Redis</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/remix-monitoring">Remix</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/restify-monitoring">Restify</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/nodejs/winston-monitoring">Winston</a><span class="sm:hidden"></span></span></p></li></ul><ul class="space-y-2"><li><div class="flex items-center space-x-2"><span class="h-4 w-4 flex justify-center items-center"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="square-js" class="svg-inline--fa fa-square-js " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M448 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM180.9 444.9c-33.7 0-53.2-17.4-63.2-38.5L152 385.7c6.6 11.7 12.6 21.6 27.1 21.6c13.8 0 22.6-5.4 22.6-26.5V237.7h42.1V381.4c0 43.6-25.6 63.5-62.9 63.5zm85.8-43L301 382.1c9 14.7 20.8 25.6 41.5 25.6c17.4 0 28.6-8.7 28.6-20.8c0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5c0-31.6 24.1-55.6 61.6-55.6c26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18c-12.3 0-20.1 7.8-20.1 18c0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2c0 37.8-29.8 58.6-69.7 58.6c-39.1 0-64.4-18.6-76.7-43z"></path></svg></span><div><a class="no-underline text-white text-lg sm:text-lg hover:underline" href="/javascript">JavaScript</a></div></div><p class="mt-1"><span class="sm:block"><a class="no-underline hover:underline" href="/javascript/react-monitoring">React</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/javascript/vue-monitoring">Vue</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/javascript/angular-monitoring">Angular</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/javascript/ember-monitoring">Ember</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/javascript/preact-monitoring">Preact</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/javascript/stimulus-monitoring">Stimulus</a><span class="sm:hidden"></span></span></p></li></ul></div><div class="space-y-6 sm:space-y-12 lg:space-y-0 lg:grid lg:grid-cols-2 lg:gap-12"><ul class="space-y-2"><li><div class="flex items-center space-x-2"><span class="h-4 w-4 flex justify-center items-center"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="python" class="svg-inline--fa fa-python " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"></path></svg></span><div><a class="no-underline text-white text-lg sm:text-lg hover:underline" href="/python">Python</a></div></div><p class="mt-1"><span class="sm:block"><a class="no-underline hover:underline" href="/python/celery-monitoring">Celery</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/python/django-monitoring">Django</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/python/fastapi-monitoring">FastAPI</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/python/flask-monitoring">Flask</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/python/jinja2-monitoring">Jinja2</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/python/mysql-monitoring">MySQL</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/python/pika-monitoring">Pika</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/python/postgresql-monitoring">PostgreSQL</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/python/redis-monitoring">Redis</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/python/request-monitoring">Request</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/python/sqlalchemy-monitoring">SQLAlchemy</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/python/sqlite-monitoring">SQLite</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/python/starlette-monitoring">Starlette</a><span class="sm:hidden">, </span></span><span class="sm:block"><a class="no-underline hover:underline" href="/python/wsgi-asgi-monitoring">WSGI and ASGI</a><span class="sm:hidden"></span></span></p></li></ul><ul class="space-y-2"><li><div class="flex items-center space-x-2"><div><a class="no-underline text-white text-lg sm:text-lg hover:underline"></a></div></div></li></ul></div></div></div><div class="col-span-1 sm:col-span-2 xl:col-span-4 border-t border-gray-800 pt-6 xl:flex xl:items-center xl:justify-between"><div class="w-[168px] h-[31px] mb-4 xl:mb-0"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 350.92 64.54"><g fill="#fff"><path d="M341.56 12.58c-5.46 0-9.37 4.82-13.39 10.18C325.68 11.38 322.9 0 314.07 0S302.46 11.38 300 22.76c-4-5.36-7.93-10.18-13.39-10.18-3.47 0-9.35 2.37-9.35 11.22v16.11c0 8.69 4.64 10.82 7.42 11.54 4.8 1.25 16.36 2.4 29.37 2.4s24.57-1.15 29.36-2.4c2.79-.72 7.43-2.85 7.43-11.54V23.8c0-8.85-5.88-11.22-9.36-11.22M314.07 5c5.29 0 7.3 10.44 10.12 23-3.09 3.79-6.36 6.86-10.12 6.86S307 31.78 304 28c2.63-11.72 4.65-23 10.12-23m-31.84 34.91V23.8c0-5.59 3-6.2 4.33-6.2 3.85 0 8 6.43 11.94 11.59-2.83 11.71-5.78 18.81-12.75 17.37-1.82-.5-3.52-1.65-3.52-6.65M296 48.05c3-3.35 5-8.58 6.5-14.12 3.23 3.38 6.95 5.93 11.57 5.93s8.33-2.55 11.56-5.93c1.5 5.54 3.47 10.77 6.55 14.12-5.39.5-11.88.79-18.11.79s-12.73-.29-18.12-.79m49.91-8.14c0 5-1.71 6.15-3.52 6.65-7 1.48-9.93-5.66-12.72-17.37 3.95-5.16 8.09-11.59 11.94-11.59 1.3 0 4.34.61 4.34 6.2ZM1.13 52.07a1.12 1.12 0 0 1-.79-.34 1.16 1.16 0 0 1-.34-.85 1.52 1.52 0 0 1 .11-.52L14 13.74a2 2 0 0 1 .62-1 1.81 1.81 0 0 1 1.25-.4h5a1.81 1.81 0 0 1 1.25.4 2.44 2.44 0 0 1 .68 1l13.82 36.62a2.52 2.52 0 0 1 .06.52 1.16 1.16 0 0 1-.34.85 1.12 1.12 0 0 1-.79.34h-3.92a1.4 1.4 0 0 1-1.07-.37 2.41 2.41 0 0 1-.46-.7l-2.89-7.48H9.47L6.63 51a2 2 0 0 1-.48.66 1.5 1.5 0 0 1-1.1.37Zm10.15-14.18H25.4l-7.09-18.82ZM42.52 62.84a1.25 1.25 0 0 1-1.3-1.31V23.89a1.24 1.24 0 0 1 1.3-1.3h3.57a1.25 1.25 0 0 1 1.31 1.3v2.38a11.6 11.6 0 0 1 3.62-3A11.35 11.35 0 0 1 56.58 22a12.67 12.67 0 0 1 5.33 1 10.13 10.13 0 0 1 3.68 2.83 12.56 12.56 0 0 1 2.24 4.26 19.79 19.79 0 0 1 .88 5.21c0 .64.06 1.31.06 2s0 1.34-.06 2a18.1 18.1 0 0 1-.82 5.16 13.14 13.14 0 0 1-2.24 4.22 10.21 10.21 0 0 1-3.71 2.89 12.56 12.56 0 0 1-5.36 1.05 11.36 11.36 0 0 1-5.36-1.16 10.55 10.55 0 0 1-3.54-3v13a1.27 1.27 0 0 1-.37.94 1.38 1.38 0 0 1-1 .37ZM55 47.3a6.63 6.63 0 0 0 4.17-1.16 6.53 6.53 0 0 0 2.18-3 14.43 14.43 0 0 0 .8-4.14 25.8 25.8 0 0 0 0-3.29 14.43 14.43 0 0 0-.8-4.14 6.58 6.58 0 0 0-2.18-3A6.69 6.69 0 0 0 55 27.35a6.44 6.44 0 0 0-6.49 4.22 12.43 12.43 0 0 0-.82 3.77q-.06 1-.06 2.16c0 .79 0 1.53.06 2.21a9.3 9.3 0 0 0 .85 3.6 7.15 7.15 0 0 0 2.38 2.86A6.83 6.83 0 0 0 55 47.3ZM75.71 62.84a1.27 1.27 0 0 1-1.3-1.31V23.89a1.25 1.25 0 0 1 1.3-1.3h3.58a1.29 1.29 0 0 1 .93.36 1.27 1.27 0 0 1 .37.94v2.38a11.53 11.53 0 0 1 3.63-3A11.29 11.29 0 0 1 89.77 22a12.64 12.64 0 0 1 5.33 1 10.16 10.16 0 0 1 3.69 2.83 12.74 12.74 0 0 1 2.21 4.3 20.21 20.21 0 0 1 .88 5.21v4a18.1 18.1 0 0 1-.83 5.16 12.94 12.94 0 0 1-2.24 4.22 10.21 10.21 0 0 1-3.71 2.89 12.53 12.53 0 0 1-5.36 1.05 11.31 11.31 0 0 1-5.35-1.16 10.49 10.49 0 0 1-3.55-3v13a1.27 1.27 0 0 1-.37.94 1.34 1.34 0 0 1-1 .37ZM88.19 47.3a6.1 6.1 0 0 0 6.35-4.19 14.43 14.43 0 0 0 .79-4.11 25.8 25.8 0 0 0 0-3.29 14.43 14.43 0 0 0-.79-4.14 6.1 6.1 0 0 0-6.35-4.19 6.44 6.44 0 0 0-6.5 4.22 12.74 12.74 0 0 0-.82 3.77c0 .64-.05 1.36-.05 2.16s0 1.53.05 2.21a9.3 9.3 0 0 0 .85 3.6 7.15 7.15 0 0 0 2.38 2.86 6.84 6.84 0 0 0 4.09 1.1ZM122.17 52.63a21.18 21.18 0 0 1-8.56-1.53 12.82 12.82 0 0 1-5.27-4 9.44 9.44 0 0 1-1.93-5.25 1.1 1.1 0 0 1 .34-.79 1.15 1.15 0 0 1 .85-.34h4a1.47 1.47 0 0 1 1 .31 2.75 2.75 0 0 1 .57.76 6.36 6.36 0 0 0 1.36 2.39 7.72 7.72 0 0 0 2.86 2 12.06 12.06 0 0 0 4.73.79q4.48 0 6.61-1.53a4.88 4.88 0 0 0 2.12-4.19 3.83 3.83 0 0 0-1.13-2.87 10.56 10.56 0 0 0-3.52-2c-1.58-.6-3.64-1.25-6.17-1.93a36.52 36.52 0 0 1-7-2.55 10.29 10.29 0 0 1-4.19-3.57 9.81 9.81 0 0 1-1.39-5.44 9.72 9.72 0 0 1 1.73-5.67 11.66 11.66 0 0 1 4.93-3.94 18.66 18.66 0 0 1 7.68-1.45 19 19 0 0 1 6.35 1 14 14 0 0 1 4.57 2.55 11.53 11.53 0 0 1 2.77 3.4 8.31 8.31 0 0 1 1 3.57 1.18 1.18 0 0 1-.32.77 1.09 1.09 0 0 1-.87.37h-4.14a1.83 1.83 0 0 1-.88-.23 1.5 1.5 0 0 1-.65-.85 5.22 5.22 0 0 0-2.44-3.46 9.49 9.49 0 0 0-5.39-1.42 10.19 10.19 0 0 0-5.41 1.28 4.35 4.35 0 0 0-2.07 4 4.24 4.24 0 0 0 1 2.89 8.38 8.38 0 0 0 3.18 2 58.53 58.53 0 0 0 5.75 1.9 43.26 43.26 0 0 1 7.76 2.54 10.38 10.38 0 0 1 4.4 3.51 9.64 9.64 0 0 1 1.41 5.42 10 10 0 0 1-1.95 6.2 12.32 12.32 0 0 1-5.44 4 22 22 0 0 1-8.25 1.36ZM143.77 17.37a1.34 1.34 0 0 1-1-.37 1.24 1.24 0 0 1-.37-.93v-3.58a1.34 1.34 0 0 1 .37-1 1.32 1.32 0 0 1 1-.4h4.31a1.39 1.39 0 0 1 1 .4 1.29 1.29 0 0 1 .4 1v3.58a1.2 1.2 0 0 1-.4.93 1.41 1.41 0 0 1-1 .37Zm.34 34.7a1.38 1.38 0 0 1-1-.37 1.27 1.27 0 0 1-.37-.94V23.89a1.27 1.27 0 0 1 .37-.94 1.37 1.37 0 0 1 1-.36h3.69a1.25 1.25 0 0 1 1.3 1.3v26.87a1.27 1.27 0 0 1-.37.94 1.28 1.28 0 0 1-.93.37ZM168.5 64.54a17.5 17.5 0 0 1-6.58-1.05 12.16 12.16 0 0 1-4-2.52 9.27 9.27 0 0 1-2.09-2.97 8.1 8.1 0 0 1-.65-2.38 1.13 1.13 0 0 1 .34-1 1.3 1.3 0 0 1 1-.39h3.86a1.51 1.51 0 0 1 .85.22 1.8 1.8 0 0 1 .56 1 11.19 11.19 0 0 0 1 1.73 5 5 0 0 0 1.93 1.61 7.69 7.69 0 0 0 3.57.68 11 11 0 0 0 4.05-.65 4.82 4.82 0 0 0 2.5-2.3 9.59 9.59 0 0 0 .87-4.47v-3.84a10.93 10.93 0 0 1-3.64 2.79 11.93 11.93 0 0 1-5.38 1.08 12.69 12.69 0 0 1-5.36-1 9.78 9.78 0 0 1-3.69-2.86 13.36 13.36 0 0 1-2.21-4.28 18.82 18.82 0 0 1-.82-5.27q-.06-1.53 0-3.12a18.94 18.94 0 0 1 .8-5.16 12.85 12.85 0 0 1 2.21-4.39 10.34 10.34 0 0 1 3.71-2.94 12.23 12.23 0 0 1 5.36-1.06 11.1 11.1 0 0 1 5.52 1.25 11.77 11.77 0 0 1 3.66 3.06V24a1.37 1.37 0 0 1 .37-1 1.31 1.31 0 0 1 1-.39h3.57a1.33 1.33 0 0 1 1.35 1.39v27.39a16.14 16.14 0 0 1-1.38 6.91 10 10 0 0 1-4.4 4.59 16.32 16.32 0 0 1-7.88 1.65Zm-.17-17.69a6.62 6.62 0 0 0 4.11-1.19 7.39 7.39 0 0 0 2.33-3 10.87 10.87 0 0 0 .87-3.71c0-.49.06-1.12.06-1.9s0-1.39-.06-1.84a11.09 11.09 0 0 0-.87-3.74 7.13 7.13 0 0 0-2.33-3 6.74 6.74 0 0 0-4.11-1.16 6.85 6.85 0 0 0-4.17 1.16 6.49 6.49 0 0 0-2.24 3 14.43 14.43 0 0 0-.79 4.14v2.84a14.62 14.62 0 0 0 .79 4.11 6.52 6.52 0 0 0 2.24 3.06 6.85 6.85 0 0 0 4.17 1.23ZM190.13 52.07a1.38 1.38 0 0 1-1-.37 1.31 1.31 0 0 1-.37-.94V23.89a1.31 1.31 0 0 1 .37-.94 1.37 1.37 0 0 1 1-.36h3.63a1.25 1.25 0 0 1 1.31 1.3v2.44a12.29 12.29 0 0 1 3.8-3.09 11.91 11.91 0 0 1 5.72-1.24 11.34 11.34 0 0 1 6.12 1.59 10.28 10.28 0 0 1 3.92 4.41 15.55 15.55 0 0 1 1.37 6.77v16a1.25 1.25 0 0 1-.4.94 1.39 1.39 0 0 1-1 .37h-3.92a1.28 1.28 0 0 1-.93-.37 1.27 1.27 0 0 1-.37-.94V35.06a8.33 8.33 0 0 0-1.79-5.67 6.45 6.45 0 0 0-5.13-2 6.84 6.84 0 0 0-5.18 2 7.83 7.83 0 0 0-2 5.67v15.7a1.22 1.22 0 0 1-.4.94 1.37 1.37 0 0 1-1 .37ZM230.92 52.63a11.76 11.76 0 0 1-5.25-1.16 9.93 9.93 0 0 1-3.74-3.09 7.31 7.31 0 0 1-1.39-4.38 7.42 7.42 0 0 1 3.18-6.27 18.1 18.1 0 0 1 8.39-3.09l8-1.19v-1.4a5.5 5.5 0 0 0-1.36-4c-.91-.94-2.42-1.41-4.54-1.41a6.9 6.9 0 0 0-3.74.9 5.22 5.22 0 0 0-2 2.44 1.32 1.32 0 0 1-1.25.74h-3.51a1.2 1.2 0 0 1-.94-.34 1.34 1.34 0 0 1-.31-.91 5.88 5.88 0 0 1 .71-2.12 8.28 8.28 0 0 1 2.07-2.5 11.76 11.76 0 0 1 3.66-2 15.47 15.47 0 0 1 5.35-.82 17.06 17.06 0 0 1 5.9.88 9.93 9.93 0 0 1 3.8 2.35 9.17 9.17 0 0 1 2.07 3.4 12.46 12.46 0 0 1 .65 4v18.1a1.22 1.22 0 0 1-.4.94 1.37 1.37 0 0 1-1 .37h-3.63a1.25 1.25 0 0 1-1.3-1.31v-2.38a9.3 9.3 0 0 1-2 2 10.74 10.74 0 0 1-3 1.62 13.85 13.85 0 0 1-4.42.63Zm1.59-4.82a8.24 8.24 0 0 0 3.91-.93A6.74 6.74 0 0 0 239.2 44a10.38 10.38 0 0 0 1-4.88v-1.4l-6.13 1a13.25 13.25 0 0 0-5.52 1.75 3.66 3.66 0 0 0-1.85 3.06 3.46 3.46 0 0 0 .85 2.41 5.33 5.33 0 0 0 2.16 1.42 8 8 0 0 0 2.8.45ZM254.47 52.07a1.25 1.25 0 0 1-1.3-1.31V13.12a1.25 1.25 0 0 1 1.3-1.31h3.74a1.25 1.25 0 0 1 1.3 1.31v37.64a1.25 1.25 0 0 1-1.3 1.31Z"></path></g></svg></div><ul><li class="mb-2 xl:mb-0 sm:inline-block sm:mr-4 sm:last:mr-0 xl:mr-12"><a class="no-underline hover:underline" href="/terms">Terms &amp; Conditions</a></li><li class="mb-2 xl:mb-0 sm:inline-block sm:mr-4 sm:last:mr-0 xl:mr-12"><a class="no-underline hover:underline" href="/privacy-policy">Privacy Policy</a></li><li class="mb-2 xl:mb-0 sm:inline-block sm:mr-4 sm:last:mr-0 xl:mr-12"><a class="no-underline hover:underline" href="/cookie-policy">Cookie Policy</a></li><li class="mb-2 xl:mb-0 sm:inline-block sm:mr-4 sm:last:mr-0 xl:mr-12"><a href="https://docs.appsignal.com/appsignal/gdpr.html" class="no-underline hover:underline">GDPR compliance</a></li><li class="mb-2 xl:mb-0 sm:inline-block sm:mr-4 sm:last:mr-0 xl:mr-12"><a class="no-underline hover:underline" href="/contact">Contact us / Imprint</a></li></ul></div></div></div></footer><!--/$--></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"cards":[{"title":"AppSignal’s Top 5 JavaScript Posts in 2024","paragraph":"Check out the 5 JavaScript posts that really stood out on our blog in 2024.","src":"https://blog.appsignal.com/images/blog/2024-12/top-5-node.jpg","href":"https://blog.appsignal.com/2024/12/17/appsignals-top-5-javascript-posts-in-2024.html","tags":["javascript, javascript-sorcery"],"size":"lg","btnText":"Read more"},{"title":"A Deep Dive Into CommonJS and ES Modules in Node.js","paragraph":"While CommonJS has served the Node community well, ES modules are rapidly gaining traction. Let's take a deep dive into both.","src":"https://blog.appsignal.com/images/blog/2024-12/common-js-es.jpg","href":"https://blog.appsignal.com/2024/12/11/a-deep-dive-into-commonjs-and-es-modules-in-nodejs.html","tags":["javascript, javascript-sorcery"],"size":"lg","btnText":"Read more"},{"title":"Unit Testing in Node.js With Jest","paragraph":"Jest has become one of the most popular solutions when unit testing in Node: let's see why.","src":"https://blog.appsignal.com/images/blog/2024-11/jest-unit-tests.jpg","href":"https://blog.appsignal.com/2024/11/27/unit-testing-in-nodejs-with-jest.html","tags":["javascript, javascript-sorcery"],"size":"lg","btnText":"Read more"},{"title":"Avoiding False Positives in Node.js Tests","paragraph":"Let's examine several common false positive patterns that can crop up in Node.js test suites.","src":"https://blog.appsignal.com/images/blog/2024-11/false-postives-node.jpg","href":"https://blog.appsignal.com/2024/11/20/avoiding-false-positives-in-nodejs-tests.html","tags":["javascript, javascript-sorcery"],"size":"lg","btnText":"Read more"}]},"__N_SSG":true},"page":"/javascript","query":{},"buildId":"zPw_X5C1NnStsfvktpsJ6","isFallback":false,"isExperimentalCompile":false,"gsp":true,"scriptLoader":[]}</script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10