CINXE.COM

New Relic Status

<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- force IE browsers in compatibility mode to use their most aggressive rendering engine --> <meta charset="utf-8"> <title>New Relic Status</title> <meta name="description" content="Welcome to New Relic&#39;s home for real-time and historical data on system performance."> <!-- Mobile viewport optimization --> <meta name="HandheldFriendly" content="True"> <meta name="MobileOptimized" content="320"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"> <!-- Time this page was rendered - http://purl.org/dc/terms/issued --> <meta name="issued" content="1740158829"> <!-- Mobile IE allows us to activate ClearType technology for smoothing fonts for easy reading --> <meta http-equiv="cleartype" content="on"> <!-- Le fonts --> <style> @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-f0b2f7c12b6b87c65c02d3c1738047ea67a7607fd767056d8a2964cc6a2393f7.eot?host=status.newrelic.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-f0b2f7c12b6b87c65c02d3c1738047ea67a7607fd767056d8a2964cc6a2393f7.eot?host=status.newrelic.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-e642ffe82005c6208632538a557e7f5dccb835c0303b06f17f55ccf567907241.woff?host=status.newrelic.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-0f094da9b301d03292f97db5544142a16f9f2ddf50af91d44753d9310c194c5f.ttf?host=status.newrelic.com') format('truetype'); font-weight:300; font-style:normal; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-366d17769d864aa72f27defaddf591e460a1de4984bb24dacea57a9fc1d14878.eot?host=status.newrelic.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-366d17769d864aa72f27defaddf591e460a1de4984bb24dacea57a9fc1d14878.eot?host=status.newrelic.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-2ee4c449a9ed716f1d88207bd1094e21b69e2818b5cd36b28ad809dc1924ec54.woff?host=status.newrelic.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-a40a469edbd27b65b845b8000d47445a17def8ba677f4eb836ad1808f7495173.ttf?host=status.newrelic.com') format('truetype'); font-weight:400; font-style:normal; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0bf83a850b45e4ccda15bd04691e3c47ae84fec3588363b53618bd275a98cbb7.eot?host=status.newrelic.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0bf83a850b45e4ccda15bd04691e3c47ae84fec3588363b53618bd275a98cbb7.eot?host=status.newrelic.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0c394ec7a111aa7928ea470ec0a67c44ebdaa0f93d1c3341abb69656cc26cbdd.woff?host=status.newrelic.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-9e43859f8015a4d47d9eaf7bafe8d1e26e3298795ce1f4cdb0be0479b8a4605e.ttf?host=status.newrelic.com') format('truetype'); font-weight:400; font-style:italic; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-09566917307251d22021a3f91fc646f3e45f8d095209bcd2cded8a1979f06e54.eot?host=status.newrelic.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-09566917307251d22021a3f91fc646f3e45f8d095209bcd2cded8a1979f06e54.eot?host=status.newrelic.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-86724fb2152613d735ba47c3f47a9ad2424b898bea4bece213dacee40344f966.woff?host=status.newrelic.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-cf3e4eb7fbdf6fb83e526cc2a0141e55b01097e6e1abfd4cbdc3eda75d183f74.ttf?host=status.newrelic.com') format('truetype'); font-weight:500; font-style:normal; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-622ea489d20e12e691663f83217105e957e2d3d09703707d40155a29c06cc9d9.eot?host=status.newrelic.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-622ea489d20e12e691663f83217105e957e2d3d09703707d40155a29c06cc9d9.eot?host=status.newrelic.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-c8dc577ff7f76d2fc199843e38c04bb2e9fd15889421358d966a9f846c2ed1cd.woff?host=status.newrelic.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-27177fe9242acbe089276ee587feef781446667ffe9b6fdc5b7fe21ad73e12f3.ttf?host=status.newrelic.com') format('truetype'); font-weight:700; font-style:normal; } </style> <link rel="shortcut icon" type="image/x-icon" href="//dka575ofm4ao0.cloudfront.net/pages-favicon_logos/original/13965/favicon_%281%29-52cd5506-3ca0-475f-bb34-3cf245793bee.jpeg" /> <link rel="shortcut icon" href='//dka575ofm4ao0.cloudfront.net/pages-favicon_logos/original/13965/favicon_%281%29-52cd5506-3ca0-475f-bb34-3cf245793bee.jpeg'> <link rel="alternate" type="application/atom+xml" href="https://status.newrelic.com/history.atom" title="New Relic Status History - Atom Feed"> <link rel="alternate" type="application/rss+xml" href="https://status.newrelic.com/history.rss" title="New Relic Status History - RSS Feed"> <!-- Canonical Link to ensure that only the custom domain is indexed when present --> <link rel="canonical" href="https://status.newrelic.com"> <meta name="_globalsign-domain-verification" content="y_VzfckMy4iePo5oDJNivyYIjh8LffYa4jzUndm_bZ"/> <link rel="alternate" type="application/atom+xml" title="ATOM" href="https://status.newrelic.com/history.atom" /> <!-- Le styles --> <link rel="stylesheet" media="screen" href="https://dka575ofm4ao0.cloudfront.net/packs/0.0e33ffb43bf3c8124a8a.css" /> <link rel="stylesheet" media="all" href="https://dka575ofm4ao0.cloudfront.net/assets/status/status_manifest-03970a4af3b77d26d1f307e3075a22ae9807ae5c39d28f21b546564c031aa57a.css" /> <script src="https://dka575ofm4ao0.cloudfront.net/assets/jquery-3.5.1.min-729e416557a365062a8a20f0562f18aa171da57298005d392312670c706c68de.js"></script> <script> window.pageColorData = {"blue":"#3498DB","border":"#E0E0E0","body_background":"#ffffff","font":"#333333","graph":"#3498db","green":"#2fcc66","light_font":"#AAAAAA","link":"#3498db","orange":"#e67e22","red":"#e74c3c","yellow":"#f1c40f","no_data":"#b3bac5"}; </script> <style> /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ body, .layout-content.status.status-api .section .example-container .example-opener .color-secondary, .grouped-items-selector, .layout-content.status.status-full-history .history-nav a.current, div[id^="subscribe-modal"] .modal-footer, div[id^="subscribe-modal"], div[id^="updates-dropdown"] .updates-dropdown-section, #uptime-tooltip .tooltip-box { background-color:#ffffff; } #uptime-tooltip .pointer-container .pointer-smaller { border-bottom-color:#ffffff; } /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ body.status, .color-primary, .color-primary:hover, .layout-content.status-index .status-day .update-title.impact-none a, .layout-content.status-index .status-day .update-title.impact-none a:hover, .layout-content.status-index .timeframes-container .timeframe.active, .layout-content.status-full-history .month .incident-container .impact-none, .layout-content.status.status-index .incidents-list .incident-title.impact-none a, .incident-history .impact-none, .layout-content.status .grouped-items-selector.inline .grouped-item.active, .layout-content.status.status-full-history .history-nav a.current, .layout-content.status.status-full-history .history-nav a:not(.current):hover, div[id^="subscribe-modal"] .modal-header .close, .grouped-item-label, #uptime-tooltip .tooltip-box .tooltip-content .related-events .related-event a.related-event-link { color:#333333; } .layout-content.status.status-index .components-statuses .component-container .name { color:#333333; color:rgba(51,51,51,.8); } /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ small, .layout-content.status .table-row .date, .color-secondary, .layout-content.status .grouped-items-selector.inline .grouped-item, .layout-content.status.status-full-history .history-footer .pagination a.disabled, .layout-content.status.status-full-history .history-nav a, #uptime-tooltip .tooltip-box .tooltip-content .related-events #related-event-header { color:#AAAAAA; } /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ body.status .layout-content.status .border-color, hr, .tooltip-base, .markdown-display table, div[id^="subscribe-modal"], #uptime-tooltip .tooltip-box { border-color:#E0E0E0; } div[id^="subscribe-modal"] .modal-footer, .markdown-display table td { border-top-color:#E0E0E0; } .markdown-display table td + td, .markdown-display table th + th { border-left-color:#E0E0E0; } div[id^="subscribe-modal"] .modal-header, #uptime-tooltip .pointer-container .pointer-larger { border-bottom-color:#E0E0E0; } #uptime-tooltip .tooltip-box .outage-field { /* Generate the background-color for the outage-field from the css_body_background_color and css_border_color. For the default background (#ffffff) and default css_border_color (#e0e0e0), use the luminosity of the default background with a magic number to arrive at the original outage-field background color (#f4f5f7). I used the formula Target Color = Color * alpha + Background * (1 - alpha) to find the magic number of ~0.08. For darker css_body_background_color, luminosity values are lower so alpha trends toward becoming transparent (thus outage-field background becomes same as css_body_background_color). */ background-color: rgba(224,224,224,0.31); /* outage-field border-color alpha is inverse to the luminosity of css_body_background_color. That is to say, with a default white background this border is transparent, but on a black background, it's opaque css_border_color. */ border-color: rgba(224,224,224,0.0); } /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ .layout-content.status.status-index .status-day .update-title.impact-critical a, .layout-content.status.status-index .status-day .update-title.impact-critical a:hover, .layout-content.status.status-index .page-status.status-critical, .layout-content.status.status-index .unresolved-incident.impact-critical .incident-title, .flat-button.background-red { background-color:#e74c3c; } .layout-content.status-index .components-statuses .component-container.status-red:after, .layout-content.status-full-history .month .incident-container .impact-critical, .layout-content.status-incident .incident-name.impact-critical, .layout-content.status.status-index .incidents-list .incident-title.impact-critical a, .status-red .icon-indicator, .incident-history .impact-critical, .components-container .component-inner-container.status-red .component-status, .components-container .component-inner-container.status-red .icon-indicator { color:#e74c3c; } .layout-content.status.status-index .unresolved-incident.impact-critical .updates { border-color:#e74c3c; } /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ .layout-content.status.status-index .status-day .update-title.impact-major a, .layout-content.status.status-index .status-day .update-title.impact-major a:hover, .layout-content.status.status-index .page-status.status-major, .layout-content.status.status-index .unresolved-incident.impact-major .incident-title { background-color:#e67e22; } .layout-content.status-index .components-statuses .component-container.status-orange:after, .layout-content.status-full-history .month .incident-container .impact-major, .layout-content.status-incident .incident-name.impact-major, .layout-content.status.status-index .incidents-list .incident-title.impact-major a, .status-orange .icon-indicator, .incident-history .impact-major, .components-container .component-inner-container.status-orange .component-status, .components-container .component-inner-container.status-orange .icon-indicator { color:#e67e22; } .layout-content.status.status-index .unresolved-incident.impact-major .updates { border-color:#e67e22; } /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ .layout-content.status.status-index .status-day .update-title.impact-minor a, .layout-content.status.status-index .status-day .update-title.impact-minor a:hover, .layout-content.status.status-index .page-status.status-minor, .layout-content.status.status-index .unresolved-incident.impact-minor .incident-title, .layout-content.status.status-index .scheduled-incidents-container .tab { background-color:#f1c40f; } .layout-content.status-index .components-statuses .component-container.status-yellow:after, .layout-content.status-full-history .month .incident-container .impact-minor, .layout-content.status-incident .incident-name.impact-minor, .layout-content.status.status-index .incidents-list .incident-title.impact-minor a, .status-yellow .icon-indicator, .incident-history .impact-minor, .components-container .component-inner-container.status-yellow .component-status, .components-container .component-inner-container.status-yellow .icon-indicator, .layout-content.status.manage-subscriptions .confirmation-infobox .fa { color:#f1c40f; } .layout-content.status.status-index .unresolved-incident.impact-minor .updates, .layout-content.status.status-index .scheduled-incidents-container { border-color:#f1c40f; } /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ .layout-content.status.status-index .status-day .update-title.impact-maintenance a, .layout-content.status.status-index .status-day .update-title.impact-maintenance a:hover, .layout-content.status.status-index .page-status.status-maintenance, .layout-content.status.status-index .unresolved-incident.impact-maintenance .incident-title, .layout-content.status.status-index .scheduled-incidents-container .tab { background-color:#3498DB; } .layout-content.status-index .components-statuses .component-container.status-blue:after, .layout-content.status-full-history .month .incident-container .impact-maintenance, .layout-content.status-incident .incident-name.impact-maintenance, .layout-content.status.status-index .incidents-list .incident-title.impact-maintenance a, .status-blue .icon-indicator, .incident-history .impact-maintenance, .components-container .component-inner-container.status-blue .component-status, .components-container .component-inner-container.status-blue .icon-indicator { color:#3498DB; } .layout-content.status.status-index .unresolved-incident.impact-maintenance .updates, .layout-content.status.status-index .scheduled-incidents-container { border-color:#3498DB; } /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ .layout-content.status.status-index .page-status.status-none { background-color:#2fcc66; } .layout-content.status-index .components-statuses .component-container.status-green:after, .status-green .icon-indicator, .components-container .component-inner-container.status-green .component-status, .components-container .component-inner-container.status-green .icon-indicator { color:#2fcc66; } /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ a, a:hover, .layout-content.status-index .page-footer span a:hover, .layout-content.status-index .timeframes-container .timeframe:not(.active):hover, .layout-content.status-incident .subheader a:hover { color:#3498db; } .flat-button, .masthead .updates-dropdown-container .show-updates-dropdown, .layout-content.status-full-history .show-filter.open { background-color:#3498db; } /* CUSTOM COLOR OVERRIDES FOR UPTIME SHOWCASE */ .components-section .components-uptime-link { color: #aaaaaa; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item { color: #aaaaaa; opacity: 1; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item.light { color: #aaaaaa; opacity: 1; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .spacer { background: #aaaaaa; opacity: 1; } </style> <!-- custom css --> <link rel="stylesheet" type="text/css" href="//dka575ofm4ao0.cloudfront.net/page_display_customizations-custom_css_externals/13915/external20241204-40-kuid34.css"> <!-- polyfills --> <script crossorigin="anonymous" src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.js"></script> <!-- Le HTML5 shim --> <!--[if lt IE 9]> <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <!-- injection for static --> </head> <body class="status index status-none"> <div class="layout-content status status-index starter"> <div class="custom-header-container"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.33/moment-timezone-with-data.min.js"></script> <link href="https://fonts.googleapis.com/css?family=Open+Sans&display=swap" rel="stylesheet" /> <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700&display=swap" rel="stylesheet" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" /> <script type="text/javascript" src="https://cdn.statuspage.io/se-v2.js" ></script> <script> const s3_url = "https://nr-statuspage.s3.amazonaws.com/images/"; //lambda_is and lambda_func can be found in API gateway URL for lambda func const isSandbox = window.location.href.includes("sandbox") || window.location.href.startsWith( "https://manage.statuspage.io/pages/0l4nk9f7hzsw" ); const lambda_id = isSandbox ? "1qhlobmum5" : "8in95mzf1f"; const lambda_func = isSandbox ? "sandbox-unsubscribe-component" : "unsubscribe-component"; //ComponentID comes from Admin page > Components > isNewUser (edit to see ID) const isNewUserComponentId = isSandbox ? "3k5wm90ml6nv" : "yhld3kylj6fn"; var subscriptionId; var statusComponents; var statusIncidents; var statusScheduledMaintenances; var subscriptionArray = []; var warning_count = 0; var triggger = 1; var allComponents; //Since month always start from 1, array's 0th index value won't be used var months = [ "Default", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", ]; var currentHistoryUrl; //To remove region name from component name function trimmer(componentName) { componentName = componentName.substring(0, componentName.indexOf(" :")); return componentName; } // TO add zero before if date, hour or minute is less than 10 to make it of two digit function addZero(x) { if (x < 10) { return "0" + x; } else { return x; } } function getTimeZone(dateObj) { var timeZone = moment.tz.guess(); var offset = dateObj.getTimezoneOffset(); return moment.tz.zone(timeZone).abbr(offset); } // This function formats provided time function formatDate(dateToFormat) { var dateObj = new Date(dateToFormat); var timeZone = getTimeZone(dateObj); dateDay = addZero(dateObj.getDate()); dateMonth = months[dateObj.getMonth() + 1]; dateHour = addZero(dateObj.getHours()); dateMinute = addZero(dateObj.getMinutes()); formattedDate = `${dateMonth} ${dateDay}, ${dateHour}:${dateMinute} ${timeZone}`; return formattedDate; } // This function formats provided time interval function formatInterval(startDate, endDate) { var months = [ "Default", "JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC", ]; startDateObj = new Date(startDate); var timeZone = getTimeZone(startDateObj); sDay = addZero(startDateObj.getDate()); sMonth = months[startDateObj.getMonth() + 1]; sYear = startDateObj.getFullYear(); sHour = addZero(startDateObj.getHours()); sMinute = addZero(startDateObj.getMinutes()); endDateObj = new Date(endDate); eDay = addZero(endDateObj.getDate()); eMonth = months[endDateObj.getMonth() + 1]; eYear = endDateObj.getFullYear(); eHour = addZero(endDateObj.getHours()); eMinute = addZero(endDateObj.getMinutes()); if (sDay == eDay && sMonth == eMonth && sYear == eYear) formattedDate = `${sMonth} ${sDay}, ${sHour}:${sMinute} - ${eHour}:${eMinute} ${timeZone}`; else formattedDate = `${sMonth} ${sDay}, ${sHour}:${sMinute} - ${eMonth} ${eDay}, ${eHour}:${eMinute} ${timeZone}`; return formattedDate; } // TO rander incidents on status page function renderIncidents(incidentsData) { $.each(incidentsData, function (incidentsIndex, incidentsValue) { $("#page_status").remove(); if (incidentsValue.impact == "critical") { img_src = s3_url + "times-alternate@3x.png"; img_class = "Times-Alternate"; } else if ( incidentsValue.impact == "major" || incidentsValue.impact == "minor" ) { img_src = s3_url + "exclamation-alternate@3x.png"; img_class = "exclamation-alternate"; } else if (incidentsValue.impact == "maintenance") { img_src = s3_url + "configure@3x.png"; img_class = "Configure-alternative"; } else { img_src = s3_url + "checkmark-alternate@3x.png"; img_class = "Checkmark-Alternate"; } let incidentName = incidentsValue.name; let incidentHtml = '<div class="text-left p-3 bg-light mtb-10"> \ <div class="img-div"> \ <img src="' + img_src + '" class="' + img_class + '"> \ </div> \ <div class="all_system_text-wrapper" id="' + incidentsValue.id + '"> \ <div class="incidents-text-wrapper"> \ <a href="incidents/' + incidentsValue.id + '">' + incidentsValue.name + "</a> \ </div> \ </div> \ </div>"; $("#incident_section").append(incidentHtml); if (incidentsValue.incident_updates.length > 0) { let timestamp = moment(incidentsValue.incident_updates[0].created_at).format( "MMM Do YYYY h:mm a" ); let iu_html = '<div class="relic-text-wrapper"><b>' + capitalizeFLetter(incidentsValue.incident_updates[0].status) + ": </b>" + incidentsValue.incident_updates[0].body + ' </div><div class="system_date">' + timestamp + "</div>"; $("#" + incidentsValue.incident_updates[0].incident_id).append(iu_html); } }); } //To capitalise first letter of status on current incident container and scheduled maintenance container function capitalizeFLetter(string) { if(string == 'in_progress') { return 'In Progress' } return string[0].toUpperCase() + string.slice(1); } // To render components on status page function renderComponents(componentsData, region) { let rowId = 0; let newRelicComponentIndex = 0; //Set current region data to session storage sessionStorage.setItem("regionSession", region); $("#newRelicPlatform").html(""); $.each(componentsData, function (componentsIndex, componentsValue) { // check if the component is in current region if (componentsValue.name.indexOf(region) != -1) if ( componentsValue.group == true || (componentsValue.group == false && componentsValue.group_id == null) ) { if (componentsValue.status == "major_outage") { img_src = s3_url + "times-alternate@2x.png"; img_class = "Times-Alternate-change"; } else if ( componentsValue.status == "partial_outage" || componentsValue.status == "degraded_performance" ) { img_src = s3_url + "exclamation-alternate@2x.png"; img_class = "exclamation-alternate-change"; } else if (componentsValue.status == "under_maintenance") { img_src = s3_url + "configure@2x.png"; img_class = "Configure-alternative-change"; } else { img_src = s3_url + "checkmark-alternate.png"; img_class = "Checkmark-Alternate-change"; } if (newRelicComponentIndex % 2 == 0) { rowId++; // console.log(newRelicComponentIndex, rowId, componentsValue.name); $("#newRelicPlatform").append( '<div class="row nr-no-wrap" id="row' + rowId + '"></div' ); } let nrComponentHtml = '<div class="col-md-6 col-sm-12 side-by"> \ <dl class="mb-30" id="' + componentsValue.id + '"> \ <dt class="mb-10"> \ <img src="' + img_src + '" class="' + img_class + '"> \ <span class="heading-apm-section">' + trimmer(componentsValue.name) + "</span> \ </dt> \ </dl> \ </div>"; $("#row" + rowId).append(nrComponentHtml); newRelicComponentIndex++; } }); $.each(componentsData, function (componentsIndex, componentsValue) { if (componentsValue.group == false) { if (componentsValue.status == "major_outage") { img_src = s3_url + "times-alternate@2x.png"; img_class = "Times-Alternate-change"; } else if ( componentsValue.status == "partial_outage" || componentsValue.status == "degraded_performance" ) { img_src = s3_url + "exclamation-alternate@2x.png"; img_class = "exclamation-alternate-change"; } else if (componentsValue.status == "under_maintenance") { img_src = s3_url + "configure@2x.png"; img_class = "Configure-alternative-change"; } else { img_src = s3_url + "checkmark-alternate.png"; img_class = "Checkmark-Alternate-change"; } let componentHtml = '<dd class="deficiency-list"><img src="' + img_src + '" class="' + img_class + '"> <span class="deficiency-text" id="' + componentsValue.id + '">' + trimmer(componentsValue.name) + "</span></dd>"; // let componentHtml ='<dd class="deficiency-list"><img src="'+img_src+'" class="'+img_class+'" style="width:13px;height:13px;"> <span class="deficiency-text" id="'+componentsValue.id+'">'+trimmer(componentsValue.name)+'</span></dd>'; // componentHtml ='<li class="dot-before '+dot_class+'"> '+componentsValue.name+' <span class="color-yellow" id="'+componentsValue.id+'"> </span></li>'; $("#" + componentsValue.group_id).append(componentHtml); } }); } // To render past incident setion on status page function renderPastIncidents(region) { sessionStorage.setItem("regionSession", region); $.getJSON( `https://${lambda_id}.execute-api.us-east-2.amazonaws.com/default/${lambda_func}?action=allIncidents`, function (allIncidents) { initialPastIncidentHtml = `<div class="past-incidents"> <div class="past-incidents-logo"> Past incidents (${region}) </div> <div class="past-incidents-dates"> <a href="/history">Incident History</a> </div> </div>`; $("#pastIncidentsSection").html(initialPastIncidentHtml); //If there isn't any incident(new account) if (allIncidents.length == 0) { $("#pastIncidentsSection").append( '<hr class="own-hr"><div class="text-center">No Past Incidents</div>' ); return false; } let filteredIncidents = allIncidents.filter( (incident) => incident.status != "scheduled" ); if (filteredIncidents.length == 0) { $("#pastIncidentsSection").append( '<hr class="own-hr"><div class="text-center">No Past Incidents</div>' ); return false; } let currentDate = new Date(); let currentDay = currentDate.getDate(); let currentMonth = currentDate.getMonth() + 1; let currentYear = currentDate.getFullYear(); let latestDate = new Date( filteredIncidents[0].scheduled_for || filteredIncidents[0].created_at ); let latestIncidentDay = latestDate.getDate(); let latestIncidentMonth = latestDate.getMonth() + 1; let latestIncidentYear = latestDate.getFullYear(); let monthDiff = currentMonth - latestIncidentMonth; if (monthDiff < 0) { monthDiff = monthDiff + 12; } // To print 'no incident reported' for months which do not have incidents for (let x = 0; x < monthDiff; x++) { $("#pastIncidentsSection") .append(`<div class="date-fixed" id="past_${months[currentMonth]}"> ${months[currentMonth]} ${currentYear} </div>`); $("#pastIncidentsSection").append( `<div class="updated-resolved"><div class="updated-resolved-heading">No incidents reported for this month.</div></div>` ); currentMonth = currentMonth - 1; currentYear = currentYear; if (currentMonth == 0) { currentMonth = currentMonth + 12; currentYear = currentYear - 1; } } // To print incident details for months which have incidents let loop; for (let x = monthDiff; x < 3; x++) { loop = 0; if (filteredIncidents.length > 0) { $.each(filteredIncidents, function (i_index, i_value) { // To get current incident month and year let thiDate = new Date( i_value.scheduled_for || i_value.created_at ); let thisIncidentMonth = thiDate.getMonth() + 1; let thisIncidentYear = thiDate.getFullYear(); if (thisIncidentMonth != currentMonth) { if (loop == 0) { if ($(`#past_${months[currentMonth]}`).length == 0) { $("#pastIncidentsSection") .append(`<div class="date-fixed" id="past_${months[currentMonth]}"> ${months[currentMonth]} ${currentYear} </div>`); } $("#pastIncidentsSection") .append(`<div class="updated-resolved"> <div class="updated-resolved-heading"> No incidents reported for this month. </div> </div>`); } currentMonth = currentMonth - 1; currentYear = currentYear; if (currentMonth < 1) { currentMonth = currentMonth + 12; currentYear = currentYear - 1; } filteredIncidents = filteredIncidents.slice(i_index); return false; } if ($(`#past_${months[currentMonth]}`).length == 0) { $("#pastIncidentsSection") .append(`<div class="date-fixed" id="past_${months[currentMonth]}"> ${months[currentMonth]} ${currentYear} </div>`); } if (i_value.components.length === 0) { showIncident = true; } else { showIncident = false; $.each(i_value.components, function (ic_index, ic_value) { if (ic_value.name.indexOf(region) != -1) { showIncident = true; return false; } }); } if ( i_value.status != "resolved" && i_value.status != "completed" ) { return true; } else if (showIncident) { //create new div for each past incident and assign an id to this div so that while looping through incident updates, we can append incident updates details to this incident div let pastIncidentHtml = `<div class="updated-resolved" id="Past${i_value.id}"> <div class="updated-resolved-heading"> <a href="/incidents/${i_value.id}">${i_value.name}</a> </div> </div>`; $("#pastIncidentsSection").append(pastIncidentHtml); //append each incident update to above incident details div $.each(i_value.incident_updates, function (iu_index, iu_value) { let pastIncidentUpdateHtml = `<div class="updated-resolved-text-status">${iu_value.status.replace( "_", " " )}</div> <div class="updated-resolved-text">${ iu_value.body }</div> <div class="wrapper-pst">${formatDate( iu_value.created_at )}</div`; //append each incident update to this incident details section $("#Past" + iu_value.incident_id).append( pastIncidentUpdateHtml ); }); //apend time interval between which this incident occured to current incident div $("#Past" + i_value.id).append( `<div class="wrapper-utc">${formatInterval( i_value.created_at, i_value.resolved_at )}</div>` ); loop++; //if reached to last index empty all incident array to make sure if (i_index == allIncidents.length - 1) { filteredIncidents = []; } } }); } else { if ($(`#past_${months[currentMonth]}`).length == 0) { $("#pastIncidentsSection") .append(`<div class="date-fixed" id="past_${months[currentMonth]}"> ${months[currentMonth]} ${currentYear} </div>`); $("#pastIncidentsSection").append( `<div class="updated-resolved"><div class="updated-resolved-heading">No incidents reported for this month.</div></div>` ); } currentMonth = currentMonth - 1; currentYear = currentYear; if (currentMonth < 1) { currentMonth = currentMonth + 12; currentYear = currentYear - 1; } } } } ); } function renderHistoryPage(region) { //Set current region data to session storage sessionStorage.setItem("regionSession", region); //Get all incident container on this page let count = $(".incident-data.incident-container").length; let hitCount = 0; //Loop through all incident containers check if it's affected components present in the current region $(".incident-data.incident-container").each(function (index) { let currIncident = $(this); let thisLink = currIncident.find("a").attr("href"); let inciId = thisLink.substring(thisLink.lastIndexOf("/") + 1); //Get all details of the incident $.getJSON( `https://${lambda_id}.execute-api.us-east-2.amazonaws.com/default/${lambda_func}?action=incidents&incidentID=${inciId}`, function (incident) { var showIncidents = false; if (incident.components.length === 0) { hitCount++; showIncidents = true; } else { //Check if affected components have any component of current region $.each(incident.components, function (ic_index, ic_value) { if (ic_value.name.indexOf(region) != -1) { showIncidents = true; hitCount++; return false; } }); } if (!showIncidents) { hitCount++; currIncident.hide(); } else { currIncident.show(); } } ); // To stop loader once all incident API hit is complete let setIntervals = setInterval(function () { //We'll need to keep checking that all API hit is compleate if (count == hitCount) { $(".preloader").fadeOut(); clearInterval(setIntervals); } }, 1000); }); //If there was no incident container on this page, loader won't stop from the above loop so stop it below if (count == 0) { $(".preloader").fadeOut(); } } //Hide and show check/uncheck all button if all components are checked function isCheckedAll() { var unchecked = $("#newRelicComp input:checkbox:not(:checked)").length; var checked = $("#newRelicComp input:checkbox:checked").length; var total = $("#newRelicComp input:checkbox").length; if (unchecked === total) { $("#allCheck").show(); $("#noneCheck").hide(); } else if (checked === total) { $("#allCheck").hide(); $("#noneCheck").show(); } } //To make tooltip under the component section if region button is under the header section $(window).scroll(function () { if (window.location.pathname == "/") { var scrollTop = $(window).scrollTop(), elementOffset = $(".tooltip").offset().top, distance = elementOffset - scrollTop; if (distance < 38) { $(".tooltip").css("z-index", 0); } else { $(".tooltip").css("z-index", 1070); } } }); //This function will be called on the every page when page loads /***************************************************/ /**************On load function start***************/ /***************************************************/ $(window).on("load", function () { $("#updates-dropdown-webhook-btn").hide(); $.getJSON(`/api/v2/summary.json`, function (data) { statusComponents = data.components; statusIncidents = data.incidents; statusScheduledMaintenances = data.scheduled_maintenances; if (window.location.pathname != "/") { if (statusIncidents.length > 0) { //Hiding page status if there is any active incident $("#page_status").remove(); //decreasing top-margin on history page if page status div is not present to fill extra gap $("#historyRegionBtnSection").attr( "style", "margin-top: 70px !important" ); } else { $(".layout-content.status.status-incident>.container").attr( "style", "margin-top: 20px !important" ); } // Get current URL path to check which page we are on const url_path = window.location.pathname; $(".past-incidents-section.header-section").remove(); $(".System-wrapper-scheduled").remove(); // If it's history page if (url_path.substring(1, 8) == "history") { currentHistoryUrl = location.href; $("body").addClass("bg-grey"); $("#subscribeFooter").remove(); $(".subs-component").remove(); $("#subscribeMain").remove(); $(".subs-div").remove(); $("#historyIncidents").remove(); if (sessionStorage.getItem("regionSession") == "Europe") { $(".region-btn-history:last-of-type").trigger("click"); } else { renderHistoryPage("US"); } /***********Loader hiding logic for this page is written in renderHistoryPage function*************/ } // If it's API page else if (url_path.substring(1, 10) == "api") { $("#historyRegionBtnSection").remove(); $("#subscribeFooter").remove(); $(".subs-component").remove(); $("#subscribeMain").remove(); $(".subs-div").remove(); setTimeout(function () { $(".preloader").fadeOut(); }, 500); } // If it's Incidents page else if (url_path.substring(1, 10) == "incidents") { $("#historyRegionBtnSection").remove(); $("#subscribeFooter").remove(); $(".subs-component").remove(); $("#subscribeMain").remove(); $(".subs-div").remove(); $(".status-wrapper").remove(); setTimeout(function () { $(".preloader").fadeOut(); }, 500); } // If it's Subscription page else if ( url_path == "/subscriptions/component-selection" || url_path.substring(0, 15) === "/subscriptions/" ) { $("#historyRegionBtnSection").remove(); $("#page_status").remove(); $(".header-wrapper").css("max-width", "100%", "important"); //Get all components $.getJSON(`/api/v2/components.json`, function (data) { let totalComponents = data.components; allComponents = []; $.each(totalComponents, function (index, value) { if (!value.group) { allComponents.push(value.id); } }); allComponents = removeItem(allComponents, isNewUserComponentId); }); //To show warnig to user if he hasn't saved his subscription and trying to close the browser window.onbeforeunload = function (e) { if (triggger == 1) { var message = "Changes that you made may not be saved.", e = e || window.event; // For IE and Firefox if (e) { e.returnValue = message; } // For Safari return message; } }; // To get subscription_id from url let subStart = url_path.substring(15); let subEnd = subStart.indexOf("/"); subscriptionId = subStart.substring(0, subEnd); if (subscriptionId === null || subscriptionId === "") { let currentLocation = new URL(document.location); let params = currentLocation.searchParams; subscriptionId = params.get("id"); } //To update subscribed components of user if it's a new user $.getJSON( `https://${lambda_id}.execute-api.us-east-2.amazonaws.com/default/${lambda_func}?action=subscriber&subscriberId=${subscriptionId}`, function (subscriptionData) { if (url_path == "/subscriptions/component-selection") { $.getJSON( `https://${lambda_id}.execute-api.us-east-2.amazonaws.com/default/${lambda_func}?action=query&query=${subscriptionData.email}`, function (subData) { if (subData.length == 0) { function addEvent(obj, evt, fn) { if (obj.addEventListener) { obj.addEventListener(evt, fn, false); } else if (obj.attachEvent) { obj.attachEvent("on" + evt, fn); } } subscriptionArray = [isNewUserComponentId]; changeSubscription(subscriptionId, subscriptionArray); } } ); } else { subscriptionArray = subscriptionData.components; triggger = 2; //increasing trigger count because page interception should not alert for active subscriptions } } ); $(".page-footer").hide(); $(".text-change").hide(); $(".component-form").find(".form-actions").hide(); $(".toggle-children.pull-right").remove(); $(".global-toggle-btn").addClass("pull-right"); //Getting email of the user to show in the footer let subEmail = $(".identifier").text(); $(".hbadran").html(subEmail); $(".container.default-spacing").css("background", "#fafbfb"); $( ".confirmation-infobox.font-small.color-secondary.border-color" ).appendTo("#confirm-box-subscriber-heading"); setTimeout(function () { $(".new-subscription").hide(); if (subEmail.length === 0) { subEmail = $(".subscriber").text().split(":")[1].trim(); $(".hbadran").html(subEmail); } if (sessionStorage.getItem("regionSession") == "Europe") { $(".region-btn-subscription:last-of-type").trigger("click"); } else { renderSubscriptionComponents( statusComponents, subscriptionArray, "US" ); // renderHistoryPage('US'); } $(".subscriber-heading").appendTo( "#confirm-box-subscriber-heading" ); $(".component-form").remove(); $(".preloader").fadeOut(); }, 2000); } $("#regionBtnSection").remove(); } //If it's main page else { $.each(statusScheduledMaintenances, function (sm_index, sm_value) { if (sm_value.status == "in_progress") { statusIncidents.push(sm_value); return false; } // remove all elements containing updates except first element $('.updates-container').children().not(':first').remove(); }); $(".components-section").remove(); $("#historyRegionBtnSection").remove(); $(".incidents-list").remove(); $(".scheduled-maintenances-container").addClass("p-3 bg-light"); $(".unresolved-incident").addClass( "shadow-apply p-3 mb-5 bg-light rounded scroller rectangle current-scheduled" ); //to render components and past incidents if (sessionStorage.getItem("regionSession") == "Europe") { $(".region-btn:last-of-type").trigger("click"); } else { renderComponents(statusComponents, "US"); renderPastIncidents("US"); } //to render incidents if (statusIncidents.length > 0) { $("#page_status").after( '<section class="System-wrapper"><div id="incident_section"></div></section>' ); $(".System-wrapper-scheduled").css("padding-top", "25px"); } renderIncidents(statusIncidents); //to add Past incident link in past inciddent div on top $("#past-incidents").after( '<a class=" pull-right" href="/history">Incident history</a>' ); $(".progress").remove(); $(".subs-div").remove(); $(".page-footer").css("display", "block"); $("#subscribeMain").remove(); $("#subscribeFooter").remove(); $(".unresolved-incidents").remove(); $(".status-day.font-regular.no-incidents").remove(); $(".subs-component").remove(); if ( $(".scheduled-maintenances-container").length == 0 && statusIncidents.length > 0 ) { $(".System-wrapper-scheduled").css("padding-top", "0px"); } else { $(".scheduled-maintenances-container").appendTo("#scheduledSection"); } setTimeout(function () { $(".preloader").fadeOut(); }, 500); } }); }); /***************************************************/ /**************On load function end*****************/ /***************************************************/ //Hide/Show components if "Region" button was clicked on status page, show components by region $(document).on("click", ".region-btn", function () { let btnTxt = $(this).find("label").text(); if (!$(this).hasClass("info")) { $(this).removeClass("default inactive-label"); $(this).addClass("info active-label"); $(this).siblings().addClass("default inactive-label"); $(this).siblings().removeClass("info active-label"); url_path = window.location.pathname; if (btnTxt == "US") { renderComponents(statusComponents, "US"); renderPastIncidents("US"); } else { renderComponents(statusComponents, "Europe"); renderPastIncidents("Europe"); } } }); //Hide/Show components if "Region" button was clicked on incident subscription page $(document).on("click", ".region-btn-subscription", function () { let btnTxt = $(this).find("label").text(); if (!$(this).hasClass("info")) { $(this).removeClass("default inactive-label"); $(this).addClass("info active-label"); $(this).siblings().addClass("default inactive-label"); $(this).siblings().removeClass("info active-label"); url_path = window.location.pathname; if ($("#allCheck").css("display") !== "none") { $("#allCheck").show(); $("#noneCheck").hide(); } if (btnTxt == "US") renderSubscriptionComponents(statusComponents, subscriptionArray, "US"); else renderSubscriptionComponents( statusComponents, subscriptionArray, "Europe" ); } }); // $(document).on("click", '.own-expand', function(){ // } // Expand and collapase incident containers on status page $(document).on("click", ".expand-incidents", function () { $(".preloader").show(); let _this = $(this).find("span"); if (_this.text() == "+ Show All 9 Incidents") { //Run and check untill the show/expand div text changes let setIntervals = setInterval(function () { let expandSpan = _this.text(); if (expandSpan == "- Collapse Incidents") { if (sessionStorage.getItem("regionSession") == "Europe") { renderHistoryPage("Europe"); } else { renderHistoryPage("US"); } clearInterval(setIntervals); } }, 1000); } else { $(".preloader").fadeOut(); } }); //Hide/Show incident container if "Region" button was clicked on incident history page $(document).on("click", ".region-btn-history", function () { $(".preloader").show(); let btnTxt = $(this).find("label").text(); if (!$(this).hasClass("info")) { $(this).removeClass("default inactive-label"); $(this).addClass("info active-label"); $(this).siblings().addClass("default inactive-label"); $(this).siblings().removeClass("info active-label"); url_path = window.location.pathname; if (btnTxt == "US") { renderHistoryPage("US"); } else { renderHistoryPage("Europe"); } } }); //To show loader if pagination by month button was clicked and reload tha page // This causes a bug in Chrome: https://new-relic.atlassian.net/browse/NR-267824 // $(document).on("click", ".pagination>a", function () { // $(".preloader").show(); // setTimeout(function () { // location.reload(); // }, 1); // }); //Render components on subscription page function renderSubscriptionComponents(componentsData, subscribed, region) { let checkBoxValue; //Set current region data to session storage sessionStorage.setItem("regionSession", region); $("#newRelicComp").html(""); $("#newRelicComp").append( '<div class="relic-wrapper"><div class="relic-wrapper-text"><h5>New Relic platform</h5></div><div class="cheak-all"><h6 class="checkLink" id="allCheck">Check all</h6><h6 class="checkLink" id="noneCheck" style="display:none">Check none</h6></div></div>' ); $.each(componentsData, function (componentsIndex, componentsValue) { checkBoxValue = subscribed.includes(componentsValue.id) ? "checked" : ""; if (componentsValue.name.indexOf(region) != -1) if ( componentsValue.group == true || (componentsValue.group == false && componentsValue.group_id == null) ) { let subsNewRelicHtml = '<hr><div class="apm-wrapper"> \ <ul class="list-unstyled list-input-wrapper" id="comp_' + componentsValue.id + '"> \ <li> \ <div class="text-bold"> \ <b>' + trimmer(componentsValue.name) + "</b> \ </div> \ </li> \ </ul> \ </div>"; $("#newRelicComp").append(subsNewRelicHtml); } isCheckedAll(); }); $.each(componentsData, function (componentsIndex, componentsValue) { checkBoxValue = subscribed.includes(componentsValue.id.toString()) ? "checked" : ""; if (componentsValue.group == false) { let subsNewRelicChildHtml = "<li>" + trimmer(componentsValue.name) + ' \ <label class="check"> \ <input type="checkbox" class="service-subscribe" name="chk[]" id="' + componentsValue.id + '" ' + checkBoxValue + '> \ <span class="check-components"></span> \ </label> \ </li>'; $("#comp_" + componentsValue.group_id).append(subsNewRelicChildHtml); } }); } // TO change current subscription of user function changeSubscription(subscriberId, componentIds, cb) { // console.log("Change Subscription for", subscriberId); //subscriptionArray = []; if (componentIds.length === 0) { componentIds = [isNewUserComponentId]; } $.ajax({ method: "GET", url: `https://${lambda_id}.execute-api.us-east-2.amazonaws.com/default/${lambda_func}?componentIds=${componentIds.toString()}&subscriberId=${subscriberId}`, success: function (resultData) { if (cb !== undefined) { cb(); } }, error: function () { alert( "We encountered an error updating your subscriptions. Please click Submit again to retry the update." ); $("#submitSub").attr("disabled", false); }, }); } //To add or remove components from subscription array if checkAll or uncheckAll button is pressed function refreshSubscriptionArray() { $("input:checkbox").each(function () { const id = $(this).attr("id"); if ($(this).prop("checked") === true) { subscriptionArray.push(id); } else { subscriptionArray = removeItem(subscriptionArray, id); } }); return subscriptionArray; } function removeItem(arr, removeItem) { arr = $.grep(arr, function (value) { return value != removeItem; }); return arr; } //Subscription page event functions $(document).ready(function () { //To warn user once if he is wishing to cancel subscription $("#cancelSub").click(function () { if (triggger >= 1) { if (confirm("Changes that you made may not be saved.") == true) { triggger = 2; window.location.href = "/"; } } }); //Submit subscription on subscribe page $("#submitSub").click(function () { //For worning if no component is selected if (subscriptionArray.length == 0) { if ( confirm( "You have not subscribed to any notifications. Are you sure you want to continue?" ) == true ) { triggger = 2; changeSubscription(subscriptionId, subscriptionArray, function () { $(location).attr("href", "/"); }); } } //Complete subscription if atleast one component is selected else { $("#submitSub").attr("disabled", true); triggger = 2; changeSubscription(subscriptionId, subscriptionArray, function () { $(location).attr("href", "/"); }); } }); //To select and unselect components on subscription page $(document).on("click", ".check-components", function () { let inputElem = $(this).siblings().attr("id"); if ($("#" + inputElem).prop("checked") == true) { subscriptionArray = removeItem(subscriptionArray, inputElem); } else { subscriptionArray.push(inputElem); } isCheckedAll(); }); //To select all components on subscription page $(document).on("click", "#allCheck", function () { $("#allCheck").hide(); $("#noneCheck").show(); $("input:checkbox").attr("checked", "checked"); refreshSubscriptionArray(); }); //To unselect all components on subscription page $(document).on("click", "#noneCheck", function () { $("#noneCheck").hide(); $("#allCheck").show(); $("input:checkbox").removeAttr("checked"); refreshSubscriptionArray(); }); }); </script> <!-- <body> --> <div class="preloader"> <div class="loader"></div> </div> <section class="bg-grey ma-auto mw-1150" id="mainPage"> <div class="margin-top-wraper"> <div class="container-fluid own-container bg-white"> <div class="bg-white"> <div class="container-fluid header-wrapper"> <div class="logo_text"> <a href="/"> <svg width="166" height="32" viewBox="0 0 83 16" fill="none" xmlns="http://www.w3.org/2000/svg" > <g clip-path="url(#a)"> <g clip-path="url(#b)"> <path d="M11.191 5.539v4.922l-4.262 2.462V16l6.928-4V4l-2.666 1.539Z" fill="#00AC69" ></path> <path d="m6.929 3.078 4.262 2.46L13.857 4 6.93 0 0 4l2.665 1.539L6.93 3.078Z" fill="#1CE783" ></path> <path d="M4.263 9.54v4.922L6.93 16V8L0 4v3.078l4.263 2.461ZM23.367 3.989c-1.491 0-2.198.942-2.198.942h-.078l-.156-.785h-1.807v8.007h1.963v-4.63c0-1.02.704-1.727 1.727-1.727 1.022 0 1.727.705 1.727 1.727v4.63h1.963V7.364c0-2.04-1.335-3.375-3.14-3.375ZM44.534 9.406h-.113l-1.335-5.26H41.09l-1.335 5.26h-.112l-1.335-5.26h-2.041l2.04 8.007h2.391l1.334-5.181h.112l1.335 5.181h2.39l2.04-8.007h-2.04l-1.335 5.26ZM53.92 4.852h-.08l-.156-.704h-1.649v8.006h1.963v-4.63c0-1.02.47-1.491 1.491-1.491h1.007V4.147h-1.168a1.767 1.767 0 0 0-1.409.705ZM60.839 3.989c-2.355 0-4.082 1.727-4.082 4.16 0 2.434 1.63 4.161 4.082 4.161 1.985 0 3.181-1.168 3.68-2.028l-1.802-.642c-.178.326-.897.953-1.878.953-1.145 0-1.962-.716-2.119-1.811h5.965c.056-.258.082-.522.079-.786 0-2.28-1.727-4.007-3.925-4.007ZM58.72 7.443c.236-1.02.942-1.806 2.119-1.806 1.1 0 1.805.785 1.962 1.806H58.72ZM31.845 3.989c-2.355 0-4.082 1.727-4.082 4.16 0 2.434 1.626 4.161 4.082 4.161 1.986 0 3.18-1.168 3.679-2.028l-1.802-.642c-.178.326-.896.953-1.877.953-1.144 0-1.963-.716-2.12-1.811h5.967a3.57 3.57 0 0 0 .078-.786c0-2.28-1.727-4.007-3.925-4.007Zm-2.12 3.454c.236-1.02.942-1.806 2.12-1.806 1.1 0 1.806.785 1.963 1.806h-4.083ZM71.625.984h-1.963v1.963h1.963V.984ZM77.041 10.505c-1.178 0-2.12-.942-2.12-2.356 0-1.413.942-2.355 2.12-2.355 1.178 0 1.649.785 1.806 1.256l1.777-.632c-.43-1.118-1.488-2.43-3.583-2.43-2.355 0-4.082 1.728-4.082 4.161 0 2.434 1.727 4.161 4.082 4.161 2.114 0 3.17-1.332 3.593-2.504l-1.787-.636c-.157.55-.628 1.335-1.806 1.335ZM64.981 2.729h1.115v9.424h1.962V.984h-3.077V2.73ZM71.625 4.146h-1.963v8.007h1.963V4.146ZM81.685 10.617a.758.758 0 1 0 .746.757.732.732 0 0 0-.746-.757Zm0 1.398a.641.641 0 1 1 .63-.64.617.617 0 0 1-.63.636v.004Z" fill="#1D252C" ></path> <path d="M82.01 11.234a.266.266 0 0 0-.284-.263h-.336v.789h.116v-.274h.105l.273.274h.144l-.273-.274a.255.255 0 0 0 .255-.252Zm-.503.136v-.284h.22a.149.149 0 0 1 .117.037.152.152 0 0 1 .051.111c0 .084-.053.136-.169.136h-.22Z" fill="#1D252C" ></path> </g> </g> <defs> <clipPath id="a"> <path fill="#fff" d="M0 0h82.462v16H0z"></path> </clipPath> <clipPath id="b"> <path fill="#fff" d="M0 0h82.431v16H0z"></path> </clipPath> </defs> </svg> </a> </div> <div id="replace-with-subscribe"></div> </div> </div> <section class="status-wrapper" id="page_status"> <div class="text-center"> <img src="https://nr-statuspage.s3.amazonaws.com/images/checkmark-alternate@2x.png" class="Checkmark-Alternate" /> <span class="system-text">All systems are working normally</span> </div> </section> <section class="System-wrapper-scheduled"> <div id="scheduledSection"></div> </section> <section class="status-body btn-section header-section" id="regionBtnSection" > <div class="container-fluid"> <div class="data-center"> <div class="tooltip small-screen-z"> Region: <span class="tooltiptext">See status by region.</span> </div> <button class="btn region-btn info active-label one"> <label class="us-label">US</label> </button> <button class="btn region-btn default inactive-label two"> <label class="europe-label">Europe</label> </button> </div> </div> <section class="card-section header-section" id="cardSections"> <div class="container-fluid"> <div class="row wrap-row"> <div class="col-sm-12"> <div class="shadow-apply p-3 bg-light rounded corners"> <div class="new-platform"> <span class="new-relic">New Relic platform</span> </div> <div class="status-new"> <!-- Status of New Relic software and services --> Status of New Relic products and features </div> <div class="container-fluid pt-28" id="newRelicPlatform"> <!------New relic platform components--------> <!-----Will be rendererd here using JS------> </div> </div> </div> </div> </div> <section class="operation-btn"> <div class="four-radio-btn"> <ul class="listing-items"> <li> <img src="https://nr-statuspage.s3.amazonaws.com/images/checkmark-alternate@2x.png" class="Checkmark-Alternate-change" /><span class="operation-text">Operational</span> </li> <li> <img src="https://nr-statuspage.s3.amazonaws.com/images/exclamation-alternate@2x.png" class="Checkmark-Alternate-change" /><span class="Partial-outage">Partial outage</span> </li> <li> <img src="https://nr-statuspage.s3.amazonaws.com/images/times-alternate@2x.png" class="Times-Alternate-change" /><span class="Partial-outage">Major outage</span> </li> <li> <img src="https://nr-statuspage.s3.amazonaws.com/images/configure@2x.png" class="Configure-alternative-change" /><span class="Partial-outage">Maintenance</span> </li> </ul> </div> </section> </section> </section> <!-- INCIDENT HISTORY PAGE START --> <section class="status-body btn-section header-section" id="historyRegionBtnSection" > <div class="container-fluid"> <div class="data-center"> <div class="tooltip small-screen-z"> Region: <span class="tooltiptext">See status by region.</span> </div> <button class="btn region-btn-history info active-label one"> <label class="us-label">US</label> </button> <button class="btn region-btn-history default inactive-label two"> <label class="europe-label">Europe</label> </button> </div> </div> <div id="historyIncidents"> <div id="historyPagingData"> <div class="container-fluid mtb-10" id="history-pagination"> <div class="incidents-info"> <div>Incident History</div> <div class="paging-incident" id="paging"> <a class="active-incident"> <i class="fa fa-left-arrow" id="lefty"> <span class="hidEle" id="preMonth"></span> <span class="hidEle" id="preYear"></span> </i> </a> <span id="pagingContent">November 2019 to January 2020</span> <a class="disabled-incident"> <i class="fa fa-left-arrow" id="righty"> <span class="hidEle" id="nexMonth"></span> <span class="hidEle" id="nexYear"></span> </i> </a> </div> </div> </div> </div> </div> </section> <!-- INCIDENT HISTORY PAGE END --> </div> </div> </section> <!-- SUBSCRIPTION PAGE START --> <section class="subs-div"> <section id="subscribeMain"> <div class="div-507"> <div id="confirm-box-subscriber-heading"></div> <div class="main-wrapper-text"> <h4>Subscription preferences</h4> <p> You鈥檙e almost done. Select the region, products, and services you use to receive the notifications that matter most to your business. </p> <p> <span class="text-warning">Warning!</span> You are not subscribed to notifications until you complete the process by submitting your selections on this page. </p> <p>&nbsp;</p> </div> <div class="data-wrapper"> <h5>Region</h5> <hr class="subs-hr" /> <div class="data-wrapper-text"> <p class="region-wrapper-text"> Receive notifications for the region in <br />which your account is based (US/EU). </p> <div class="data-center"> <button class="btn subsPage region-btn-subscription info active-label one" > <label class="us-label">US</label> </button> <!-- <div class="mid-line"></div> --> <button class="btn subsPage region-btn-subscription default inactive-label two" > <label class="europe-label">Europe</label> </button> </div> </div> <p>&nbsp;</p> </div> </div> </section> <section class="subs-component"> <div id="newRelicComp"> <!-- Subscription page new Relic component goes here --> </div> </section> </section> <section class="footer-wrapper fixed-bottom shadow" id="subscribeFooter"> <div class="container-fluid"> <div class="row"> <div class="all-footer-wrapper"> <div class="footer-text"> <h6>SUBSCRIBER</h6> <div class="hbadran"></div> </div> <div class="footer-last-wrapper"> <h5 id="cancelSub">Cancel</h5> <button type="button" id="submitSub">Submit</button> </div> </div> </div> </div> </section> <!-- SUBSCRIPTION PAGE END --> <!-- Past Incident Section (Region Based) MAIN PAGE START --> <section class="past-incidents-section header-section"> <div class="container-fluid"> <div class="row"> <div class="col-sm-12 col-md-12"> <div class="shadow-apply p-3 mb-5 bg-light rounded scroller ma-auto mw-1150" id="pastIncidentsSection" ></div> </div> </div> </div> </section> <div class="updates-dropdown-container" data-js-hook="updates-dropdown-container"> <a href="#" data-js-hook="show-updates-dropdown" id="show-updates-dropdown" class="show-updates-dropdown" aria-label="Subscribe to updates" aria-expanded="false" aria-haspopup="dialog" role="button"> </a> <!-- Accessibility guidelines for tabs: https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html --> <div class="updates-dropdown" data-js-hook="updates-dropdown" id="updates-dropdown" style="display:none"> <div class="updates-dropdown-nav nav-items-5" role="tablist" aria-label="Subscribe to updates"> <a href="#updates-dropdown-email" aria-controls="updates-dropdown-email" aria-label="Subscribe via email" role="tab" aria-selected="true" id="updates-dropdown-email-btn"> <span class="icon-container email"> </a> <a href="#updates-dropdown-sms" aria-controls="updates-dropdown-sms" aria-label="Subscribe via SMS" role="tab" id="updates-dropdown-sms-btn"> <span class="icon-container sms"> </a> <a href="#updates-dropdown-webhook" aria-controls="updates-dropdown-webhook" aria-label="Subscribe via webhook" role="tab" id="updates-dropdown-webhook-btn"> <span class="icon-container webhook"> </a> <a href="#updates-dropdown-atom" aria-controls="updates-dropdown-atom" aria-label="Subscribe via RSS" role="tab" id="updates-dropdown-atom-btn"> <span class="icon-container rss"> </a> <button data-js-hook="updates-dropdown-close" aria-label="Close subscribe form" id="updates-dropdown-close-btn"> x </button> </div> <div class="updates-dropdown-sections-container"> <div class="updates-dropdown-section email" id="updates-dropdown-email" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-email-btn"> <div class="directions"> Get email notifications whenever New Relic <strong>creates</strong>, <strong>updates</strong> or <strong>resolves</strong> an incident. </div> <form id="subscribe-form-email" action="/subscriptions/new-email" accept-charset="UTF-8" data-remote="true" method="post"> <input type="hidden" name="email_otp_verify_flow" id="email_otp_verify_flow" value="false" autocomplete="off" /> <!-- make sure not to put cookie values in here since this gets cached --> <label for="email">Email address:</label> <input name="email" id="email" type="text" class="full-width" data-js-hook="email-notification-field" autocomplete="email"> <input name="email_otp_auth_token" type='hidden' id="email-otp-token-field"> <div class="opt-container-section" id="email-otp-container", style="display:none" > <label for="email-otp">Enter OTP:</label> <input name="otp" id="email-otp" type="text" value="" class="prepend full-width"> <p id="email-otp-timer">Resend OTP in: <span id="email-otp-countdown"></span> seconds </p> <p id="resend-email-otp"> Didn't receive the OTP? <a href="#" id="resend-email-otp-btn" >Resend OTP </a> </p> </div> <input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" /> <input type="submit" value="Subscribe via Email" class="flat-button full-width g-recaptcha" id="subscribe-btn-email" data-disabled-text="Subscribing..." data-sitekey=6LdTS8AUAAAAAOIbCKoCAP4LQku1olYGrywPTaZz data-callback="submitNewEmailSubscriber" data-error-callback="emailSubscriberCaptchaError" > <div class="terms_and_privacy_information bottom small"> This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" class="accessible-link" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" class="accessible-link" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div> </form> </div> <div class="updates-dropdown-section phone" id="updates-dropdown-sms" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-sms-btn"> <div class="directions"> Get text message notifications whenever New Relic <strong>creates</strong> or <strong>resolves</strong> an incident. </div> <form id="subscribe-form-sms" action="/subscriptions/new-sms" accept-charset="UTF-8" data-remote="true" method="post"> <input type="hidden" name="otp_verify_flow" id="otp_verify_flow" value="false" autocomplete="off" /> <input type="hidden" name="subscriber_code" id="subscriber_code" value="" autocomplete="off" /> <div class="control-group"> <div class="controls externalities-sms-container"> <!-- make sure not to put cookie values in here since this gets cached --> <label for="phone-country">Country code:</label> <div id="phone-number-country-code" class="phone-country-wrapper" data-otp-enabled="false"> <select name="phone_country" id="phone-country" data-js-hook="phone-country" class="phone-country"><option value="af" data-otp-enabled="false" >Afghanistan (+93)</option> <option value="al" data-otp-enabled="false" >Albania (+355)</option> <option value="dz" data-otp-enabled="false" >Algeria (+213)</option> <option value="as" data-otp-enabled="false" >American Samoa (+1)</option> <option value="ad" data-otp-enabled="false" >Andorra (+376)</option> <option value="ao" data-otp-enabled="false" >Angola (+244)</option> <option value="ai" data-otp-enabled="false" >Anguilla (+1)</option> <option value="ag" data-otp-enabled="false" >Antigua and Barbuda (+1)</option> <option value="ar" data-otp-enabled="false" >Argentina (+54)</option> <option value="am" data-otp-enabled="false" >Armenia (+374)</option> <option value="aw" data-otp-enabled="false" >Aruba (+297)</option> <option value="au" data-otp-enabled="false" >Australia/Cocos/Christmas Island (+61)</option> <option value="at" data-otp-enabled="false" >Austria (+43)</option> <option value="az" data-otp-enabled="false" >Azerbaijan (+994)</option> <option value="bs" data-otp-enabled="false" >Bahamas (+1)</option> <option value="bh" data-otp-enabled="false" >Bahrain (+973)</option> <option value="bd" data-otp-enabled="false" >Bangladesh (+880)</option> <option value="bb" data-otp-enabled="false" >Barbados (+1)</option> <option value="by" data-otp-enabled="false" >Belarus (+375)</option> <option value="be" data-otp-enabled="false" >Belgium (+32)</option> <option value="bz" data-otp-enabled="false" >Belize (+501)</option> <option value="bj" data-otp-enabled="false" >Benin (+229)</option> <option value="bm" data-otp-enabled="false" >Bermuda (+1)</option> <option value="bo" data-otp-enabled="false" >Bolivia (+591)</option> <option value="ba" data-otp-enabled="false" >Bosnia and Herzegovina (+387)</option> <option value="bw" data-otp-enabled="false" >Botswana (+267)</option> <option value="br" data-otp-enabled="false" >Brazil (+55)</option> <option value="bn" data-otp-enabled="false" >Brunei (+673)</option> <option value="bg" data-otp-enabled="false" >Bulgaria (+359)</option> <option value="bf" data-otp-enabled="false" >Burkina Faso (+226)</option> <option value="bi" data-otp-enabled="false" >Burundi (+257)</option> <option value="kh" data-otp-enabled="false" >Cambodia (+855)</option> <option value="cm" data-otp-enabled="false" >Cameroon (+237)</option> <option value="ca" data-otp-enabled="false" >Canada (+1)</option> <option value="cv" data-otp-enabled="false" >Cape Verde (+238)</option> <option value="ky" data-otp-enabled="false" >Cayman Islands (+1)</option> <option value="cf" data-otp-enabled="false" >Central Africa (+236)</option> <option value="td" data-otp-enabled="false" >Chad (+235)</option> <option value="cl" data-otp-enabled="false" >Chile (+56)</option> <option value="cn" data-otp-enabled="false" >China (+86)</option> <option value="co" data-otp-enabled="false" >Colombia (+57)</option> <option value="km" data-otp-enabled="false" >Comoros (+269)</option> <option value="cg" data-otp-enabled="false" >Congo (+242)</option> <option value="cd" data-otp-enabled="false" >Congo, Dem Rep (+243)</option> <option value="cr" data-otp-enabled="false" >Costa Rica (+506)</option> <option value="hr" data-otp-enabled="false" >Croatia (+385)</option> <option value="cy" data-otp-enabled="false" >Cyprus (+357)</option> <option value="cz" data-otp-enabled="false" >Czech Republic (+420)</option> <option value="dk" data-otp-enabled="false" >Denmark (+45)</option> <option value="dj" data-otp-enabled="false" >Djibouti (+253)</option> <option value="dm" data-otp-enabled="false" >Dominica (+1)</option> <option value="do" data-otp-enabled="false" >Dominican Republic (+1)</option> <option value="eg" data-otp-enabled="false" >Egypt (+20)</option> <option value="sv" data-otp-enabled="false" >El Salvador (+503)</option> <option value="gq" data-otp-enabled="false" >Equatorial Guinea (+240)</option> <option value="ee" data-otp-enabled="false" >Estonia (+372)</option> <option value="et" data-otp-enabled="false" >Ethiopia (+251)</option> <option value="fo" data-otp-enabled="false" >Faroe Islands (+298)</option> <option value="fj" data-otp-enabled="false" >Fiji (+679)</option> <option value="fi" data-otp-enabled="false" >Finland/Aland Islands (+358)</option> <option value="fr" data-otp-enabled="false" >France (+33)</option> <option value="gf" data-otp-enabled="false" >French Guiana (+594)</option> <option value="pf" data-otp-enabled="false" >French Polynesia (+689)</option> <option value="ga" data-otp-enabled="false" >Gabon (+241)</option> <option value="gm" data-otp-enabled="false" >Gambia (+220)</option> <option value="ge" data-otp-enabled="false" >Georgia (+995)</option> <option value="de" data-otp-enabled="false" >Germany (+49)</option> <option value="gh" data-otp-enabled="false" >Ghana (+233)</option> <option value="gi" data-otp-enabled="false" >Gibraltar (+350)</option> <option value="gr" data-otp-enabled="false" >Greece (+30)</option> <option value="gl" data-otp-enabled="false" >Greenland (+299)</option> <option value="gd" data-otp-enabled="false" >Grenada (+1)</option> <option value="gp" data-otp-enabled="false" >Guadeloupe (+590)</option> <option value="gu" data-otp-enabled="false" >Guam (+1)</option> <option value="gt" data-otp-enabled="false" >Guatemala (+502)</option> <option value="gn" data-otp-enabled="false" >Guinea (+224)</option> <option value="gy" data-otp-enabled="false" >Guyana (+592)</option> <option value="ht" data-otp-enabled="false" >Haiti (+509)</option> <option value="hn" data-otp-enabled="false" >Honduras (+504)</option> <option value="hk" data-otp-enabled="false" >Hong Kong (+852)</option> <option value="hu" data-otp-enabled="false" >Hungary (+36)</option> <option value="is" data-otp-enabled="false" >Iceland (+354)</option> <option value="in" data-otp-enabled="false" >India (+91)</option> <option value="id" data-otp-enabled="false" >Indonesia (+62)</option> <option value="iq" data-otp-enabled="false" >Iraq (+964)</option> <option value="ie" data-otp-enabled="false" >Ireland (+353)</option> <option value="il" data-otp-enabled="false" >Israel (+972)</option> <option value="it" data-otp-enabled="false" >Italy (+39)</option> <option value="jm" data-otp-enabled="false" >Jamaica (+1)</option> <option value="jp" data-otp-enabled="false" >Japan (+81)</option> <option value="jo" data-otp-enabled="false" >Jordan (+962)</option> <option value="ke" data-otp-enabled="false" >Kenya (+254)</option> <option value="kr" data-otp-enabled="false" >Korea, Republic of (+82)</option> <option value="xk" data-otp-enabled="false" >Kosovo (+383)</option> <option value="kw" data-otp-enabled="false" >Kuwait (+965)</option> <option value="kg" data-otp-enabled="false" >Kyrgyzstan (+996)</option> <option value="la" data-otp-enabled="false" >Laos (+856)</option> <option value="lv" data-otp-enabled="false" >Latvia (+371)</option> <option value="lb" data-otp-enabled="false" >Lebanon (+961)</option> <option value="ls" data-otp-enabled="false" >Lesotho (+266)</option> <option value="lr" data-otp-enabled="false" >Liberia (+231)</option> <option value="ly" data-otp-enabled="false" >Libya (+218)</option> <option value="li" data-otp-enabled="false" >Liechtenstein (+423)</option> <option value="lt" data-otp-enabled="false" >Lithuania (+370)</option> <option value="lu" data-otp-enabled="false" >Luxembourg (+352)</option> <option value="mo" data-otp-enabled="false" >Macao (+853)</option> <option value="mk" data-otp-enabled="false" >Macedonia (+389)</option> <option value="mg" data-otp-enabled="false" >Madagascar (+261)</option> <option value="mw" data-otp-enabled="false" >Malawi (+265)</option> <option value="my" data-otp-enabled="false" >Malaysia (+60)</option> <option value="mv" data-otp-enabled="false" >Maldives (+960)</option> <option value="ml" data-otp-enabled="false" >Mali (+223)</option> <option value="mt" data-otp-enabled="false" >Malta (+356)</option> <option value="mq" data-otp-enabled="false" >Martinique (+596)</option> <option value="mr" data-otp-enabled="false" >Mauritania (+222)</option> <option value="mu" data-otp-enabled="false" >Mauritius (+230)</option> <option value="mx" data-otp-enabled="false" >Mexico (+52)</option> <option value="mc" data-otp-enabled="false" >Monaco (+377)</option> <option value="mn" data-otp-enabled="false" >Mongolia (+976)</option> <option value="me" data-otp-enabled="false" >Montenegro (+382)</option> <option value="ms" data-otp-enabled="false" >Montserrat (+1)</option> <option value="ma" data-otp-enabled="false" >Morocco/Western Sahara (+212)</option> <option value="mz" data-otp-enabled="false" >Mozambique (+258)</option> <option value="na" data-otp-enabled="false" >Namibia (+264)</option> <option value="np" data-otp-enabled="false" >Nepal (+977)</option> <option value="nl" data-otp-enabled="false" >Netherlands (+31)</option> <option value="nz" data-otp-enabled="false" >New Zealand (+64)</option> <option value="ni" data-otp-enabled="false" >Nicaragua (+505)</option> <option value="ne" data-otp-enabled="false" >Niger (+227)</option> <option value="ng" data-otp-enabled="false" >Nigeria (+234)</option> <option value="no" data-otp-enabled="false" >Norway (+47)</option> <option value="om" data-otp-enabled="false" >Oman (+968)</option> <option value="pk" data-otp-enabled="false" >Pakistan (+92)</option> <option value="ps" data-otp-enabled="false" >Palestinian Territory (+970)</option> <option value="pa" data-otp-enabled="false" >Panama (+507)</option> <option value="py" data-otp-enabled="false" >Paraguay (+595)</option> <option value="pe" data-otp-enabled="false" >Peru (+51)</option> <option value="ph" data-otp-enabled="false" >Philippines (+63)</option> <option value="pl" data-otp-enabled="false" >Poland (+48)</option> <option value="pt" data-otp-enabled="false" >Portugal (+351)</option> <option value="pr" data-otp-enabled="false" >Puerto Rico (+1)</option> <option value="qa" data-otp-enabled="false" >Qatar (+974)</option> <option value="re" data-otp-enabled="false" >Reunion/Mayotte (+262)</option> <option value="ro" data-otp-enabled="false" >Romania (+40)</option> <option value="ru" data-otp-enabled="false" >Russia/Kazakhstan (+7)</option> <option value="rw" data-otp-enabled="false" >Rwanda (+250)</option> <option value="ws" data-otp-enabled="false" >Samoa (+685)</option> <option value="sm" data-otp-enabled="false" >San Marino (+378)</option> <option value="sa" data-otp-enabled="false" >Saudi Arabia (+966)</option> <option value="sn" data-otp-enabled="false" >Senegal (+221)</option> <option value="rs" data-otp-enabled="false" >Serbia (+381)</option> <option value="sc" data-otp-enabled="false" >Seychelles (+248)</option> <option value="sl" data-otp-enabled="false" >Sierra Leone (+232)</option> <option value="sg" data-otp-enabled="false" >Singapore (+65)</option> <option value="sk" data-otp-enabled="false" >Slovakia (+421)</option> <option value="si" data-otp-enabled="false" >Slovenia (+386)</option> <option value="za" data-otp-enabled="false" >South Africa (+27)</option> <option value="es" data-otp-enabled="false" >Spain (+34)</option> <option value="lk" data-otp-enabled="false" >Sri Lanka (+94)</option> <option value="kn" data-otp-enabled="false" >St Kitts and Nevis (+1)</option> <option value="lc" data-otp-enabled="false" >St Lucia (+1)</option> <option value="vc" data-otp-enabled="false" >St Vincent Grenadines (+1)</option> <option value="sd" data-otp-enabled="false" >Sudan (+249)</option> <option value="sr" data-otp-enabled="false" >Suriname (+597)</option> <option value="sz" data-otp-enabled="false" >Swaziland (+268)</option> <option value="se" data-otp-enabled="false" >Sweden (+46)</option> <option value="ch" data-otp-enabled="false" >Switzerland (+41)</option> <option value="tw" data-otp-enabled="false" >Taiwan (+886)</option> <option value="tj" data-otp-enabled="false" >Tajikistan (+992)</option> <option value="tz" data-otp-enabled="false" >Tanzania (+255)</option> <option value="th" data-otp-enabled="false" >Thailand (+66)</option> <option value="tg" data-otp-enabled="false" >Togo (+228)</option> <option value="to" data-otp-enabled="false" >Tonga (+676)</option> <option value="tt" data-otp-enabled="false" >Trinidad and Tobago (+1)</option> <option value="tn" data-otp-enabled="false" >Tunisia (+216)</option> <option value="tr" data-otp-enabled="false" >Turkey (+90)</option> <option value="tc" data-otp-enabled="false" >Turks and Caicos Islands (+1)</option> <option value="ug" data-otp-enabled="false" >Uganda (+256)</option> <option value="ua" data-otp-enabled="false" >Ukraine (+380)</option> <option value="ae" data-otp-enabled="false" >United Arab Emirates (+971)</option> <option value="gb" data-otp-enabled="false" >United Kingdom (+44)</option> <option value="us" data-otp-enabled="false" selected>United States (+1)</option> <option value="uy" data-otp-enabled="false" >Uruguay (+598)</option> <option value="uz" data-otp-enabled="false" >Uzbekistan (+998)</option> <option value="ve" data-otp-enabled="false" >Venezuela (+58)</option> <option value="vn" data-otp-enabled="false" >Vietnam (+84)</option> <option value="vg" data-otp-enabled="false" >Virgin Islands, British (+1)</option> <option value="vi" data-otp-enabled="false" >Virgin Islands, U.S. (+1)</option> <option value="ye" data-otp-enabled="false" >Yemen (+967)</option> <option value="zm" data-otp-enabled="false" >Zambia (+260)</option> <option value="zw" data-otp-enabled="false" >Zimbabwe (+263)</option></select> </div> <label for="phone-number">Phone number:</label> <input name="phone_number" id="phone-number" type="text" class="prepend full-width" data-js-hook="sms-notification-field"> <div class="sms-atl-error" id="sms-atl-error"></div> <div class="clearfix"></div> <div class="opt-container-section" id="otp-container" style="display:none"> <a href="#" id="btn-subcriber-change-number">Change number</a> <label for="otp">Enter OTP:</label> <input name="otp" id="otp" type="text" class="prepend full-width"> <p id="timer">Resend OTP in: <span id="countdown">30</span> seconds </p> <p id="resend"> Didn't receive the OTP? <a href="#" id="resend-otp-btn" >Resend OTP </a> </p> </div> </div> </div> <input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" /> <input type="submit" value="Subscribe via Text Message" class="flat-button full-width g-recaptcha" id="subscribe-btn-sms" data-disabled-text="Subscribing..." data-sitekey=6LcH-b0UAAAAACVQtMb14LBhflMA9y0Nmu7l_W6d data-callback="submitNewSmsSubscriber" data-error-callback="smsSubscriberCaptchaError"> <div class="terms_and_privacy_information bottom small">Message and data rates may apply. By subscribing you agree to the Atlassian <a target="_blank" rel="noopener" class="accessible-link" href="https://www.atlassian.com/legal/product-specific-terms#statuspage-specific-terms">Terms of Service</a>, and the Atlassian <a target="_blank" rel="noopener" class="accessible-link" href="https://www.atlassian.com/legal/privacy-policy">Privacy Policy</a>. This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" class="accessible-link" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" class="accessible-link" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div> </form> </div> <div class="updates-dropdown-section webhook" id="updates-dropdown-webhook" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-webhook-btn"> <div class="directions"> Get webhook notifications whenever New Relic <strong>creates</strong> an incident, <strong>updates</strong> an incident, <strong>resolves</strong> an incident or <strong>changes</strong> a component status. </div> <form id="subscribe-form-webhook" action="/subscriptions/webhook.json" accept-charset="UTF-8" data-remote="true" method="post"> <div class="control-group"> <div class="controls"> <label for="endpoint-webhooks">Webhook URL:</label> <input type="text" name="endpoint" id="endpoint-webhooks" data-js-hook="endpoint" class="full-width" aria-describedby="url-help-block" /> <p class="help-block" id="url-help-block">The URL we should send the webhooks to</p> </div> </div> <div class="control-group"> <div class="controls"> <label for="email-webhooks">Email address:</label> <input type="text" name="email" id="email-webhooks" data-js-hook="email" class="full-width" aria-describedby="email-help-block" /> <p class="help-block" id="email-help-block">We'll send you email if your endpoint fails</p> </div> </div> <input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" /> <input type="submit" value=Subscribe To Notifications class="flat-button full-width g-recaptcha" id="subscribe-btn-webhook" data-disabled-text="Subscribing..." data-sitekey=6LcQ-b0UAAAAAJjfdwO_-ozGC-CzWDj4Pm1kJ2Ah data-callback="submitNewWebhookSubscriber" data-error-callback="webhookSubscriberCaptchaError"> <div class="terms_and_privacy_information bottom small"> This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" class="accessible-link" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" class="accessible-link" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div> </form> </div> <div class="updates-dropdown-section atom" id="updates-dropdown-atom" role="tabpanel" aria-labelledby="updates-dropdown-atom-btn"> Get the <a href="https://status.newrelic.com/history.atom" target="_blank">Atom Feed</a> or <a href="https://status.newrelic.com/history.rss" target="_blank">RSS Feed</a>. </div> </div> </div> </div> <script> $(function () { const phoneNumberInput = $('#phone-number'); const errorDiv = $('#sms-atl-error') if(errorDiv.length){ function checkSelectedCountry() { const selectedCountry = $('#phone-country').val(); const isOtpEnabled = $('#phone-number-country-code').attr('data-otp-enabled') === 'true'; const form = document.getElementById('subscribe-form-sms'); form.action = '/subscriptions/new-sms'; const isOtpFlow = document.getElementById('otp_verify_flow'); document.getElementById('otp-container').style.display = "none"; if(false && selectedCountry === 'sg') { // Replace 'SG' with the actual value representing Singapore in your select tag phoneNumberInput.prop('disabled', true); errorDiv.html(`Due to new Singapore government regulations, we're currently not supporting text subscriptions in Singapore.<a href="https://community.atlassian.com/t5/Statuspage-articles/Attention-SMS-notifications-will-be-disabled-on-August-1st-2023/ba-p/2424398" target="_blank"> Learn more.</a> <br> Select another method to subscribe.`); } else { phoneNumberInput.prop('readonly', false); errorDiv.html(''); if(false){ if(isOtpEnabled){ document.getElementById('subscribe-btn-sms').value = "Send OTP"; } else { isOtpFlow.value = false; document.getElementById('subscribe-btn-sms').value = "Subscribe via Text Message"; } } } } $('#phone-country').on('change', checkSelectedCountry); checkSelectedCountry(); } }); document.addEventListener('DOMContentLoaded', function() { const dropdown = document.querySelector('#phone-number-country-code .phone-country'); if (dropdown){ const wrapperDiv = document.getElementById('phone-number-country-code'); const selectedOption = dropdown.options[dropdown.selectedIndex]; const otpEnabled = selectedOption.getAttribute('data-otp-enabled'); wrapperDiv.setAttribute('data-otp-enabled', otpEnabled); dropdown.addEventListener('change', function() { const selectedOption = dropdown.options[dropdown.selectedIndex]; const otpEnabled = selectedOption.getAttribute('data-otp-enabled'); wrapperDiv.setAttribute('data-otp-enabled', otpEnabled); }); } }); var countdownTimer; var resendBtn = document.getElementById('resend'); var timer = document.getElementById('timer'); var form = document.getElementById('subscribe-form-sms'); var RESEND_TIMER = 30; $(function() { $('#subscribe-form-sms').on('ajax:success', function(e, data, status, xhr){ const form = this; const action = form.getAttribute('action'); if (data.type === 'success' && data.otp_flow === true) { document.getElementById('subscriber_code').value = data.subscriber_code document.getElementById('otp-container').style.display = "block"; $('#phone-number').prop('readonly', true); var display = document.getElementById('countdown'); disableResend(); startTimer(RESEND_TIMER, display) document.getElementById('subscribe-btn-sms').value = "Verify OTP and Subscribe"; document.getElementById('otp_verify_flow').value = true; form.action = '/subscriptions/verify-otp'; } else if (data.type === 'success' && action.includes('verify')){ document.getElementById('otp-container').style.display = "none"; $('#phone-number').val('').prop('readonly', false); $('#otp').val(''); document.getElementById('subscribe-btn-sms').value = "Send OTP"; document.getElementById('otp_verify_flow').value = false; form.action = '/subscriptions/new-sms'; SP.currentPage.updatesDropdown.hide(); } }); $("#btn-subcriber-change-number").on('click', () => { document.getElementById('otp-container').style.display = "none"; $('#phone-number').prop('readonly', false); document.getElementById('subscribe-btn-sms').value = "Send OTP"; form.action = '/subscriptions/new-sms'; return false }) $('#resend-otp-btn').on('click', function(e) { e.preventDefault(); let phoneNumber = $('#phone-number').val(); let countryCode = $('.phone-country').val(); $.ajax({ type: 'POST', url: "/subscriptions/new-sms", data: { phone_number: phoneNumber, phone_country: countryCode, type: 'resend' }, }).done(function(data) { var messageOptions = (data.type !== undefined && data.type !== null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); var display = document.getElementById('countdown'); disableResend(); timer.style.display = "none" if (data.type === 'success') { startTimer(RESEND_TIMER, display); } }) }); }) function startTimer(duration, display){ var timer = duration, seconds; clearInterval(countdownTimer); countdownTimer = setInterval(function () { seconds = parseInt(timer % 60, 10); display.textContent = seconds; if(--timer < 0){ enableResend(); clearInterval(countdownTimer); } }, 1000); disableResend(); } function enableResend(){ resendBtn.style.display = "block"; timer.style.display = "none" } function disableResend(){ resendBtn.style.display = "none"; timer.style.display = "block" } $(function() { $('#subscribe-form-email').on('submit', function() { var tokenField = document.getElementById('email-otp-token-field'); let page_code = "nwg5xmnm9d17" let key = keyForEmailOtpToken($('#email').val(), page_code); tokenField.value = localStorage.getItem(key); }); }); var emailOtpCountdownTimer; var emailOtpResendBtn = document.getElementById('resend-email-otp'); var emailOtpTimer = document.getElementById('email-otp-timer'); var emailOtpForm = document.getElementById('subscribe-form-email'); var EMAIL_OTP_RESEND_TIMER = 600; $(function() { $('#subscribe-form-email').on('ajax:success', function(e, data, status, xhr){ const form = this; const action = form.getAttribute('action'); if (data.type === 'success' && data.email_otp_verify_flow === true) { document.getElementById('email-otp-container').style.display = "block"; var display = document.getElementById('email-otp-countdown'); display.textContent = EMAIL_OTP_RESEND_TIMER; disableEmailOtpResend(); startEmailOtpTimer(EMAIL_OTP_RESEND_TIMER, display) document.getElementById('subscribe-btn-email').value = "Verify OTP and Subscribe"; document.getElementById('email_otp_verify_flow').value = true; form.action = '/subscriptions/verify-email-otp'; } else if (data.type === 'success' && action.includes('verify')){ let email = $('#email') let page_code = "nwg5xmnm9d17" let key = keyForEmailOtpToken(email.val(), page_code); localStorage.setItem(key, data.email_otp_auth_token); document.getElementById('email-otp-container').style.display = "none"; email.val('').prop('readonly', false); $('#email-otp').val(''); document.getElementById('subscribe-btn-email').value = "Send OTP"; document.getElementById('email_otp_verify_flow').value = false; form.action = '/subscriptions/new-email'; SP.currentPage.updatesDropdown.hide(); } }); $('#resend-email-otp-btn').on('click', function(e) { e.preventDefault(); let email = $('#email').val(); $.ajax({ type: 'POST', url: "/subscriptions/new-email", data: { email: email }, }).done(function(data) { var messageOptions = (data.type !== undefined && data.type !== null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); if (data.type === 'success') { var display = document.getElementById('email-otp-countdown'); display.textContent = EMAIL_OTP_RESEND_TIMER; disableEmailOtpResend(); emailOtpTimer.style.display = "none" startEmailOtpTimer(EMAIL_OTP_RESEND_TIMER, display); } }) }); }) function startEmailOtpTimer(duration, display){ var timer = duration, seconds; clearInterval(emailOtpCountdownTimer); emailOtpCountdownTimer = setInterval(function () { seconds = parseInt(timer, 10); display.textContent = seconds; if(--timer < 0){ enableEmailOtpResend(); clearInterval(emailOtpCountdownTimer); } }, 1000); disableEmailOtpResend(); } function enableEmailOtpResend(){ emailOtpResendBtn.style.display = "block"; emailOtpTimer.style.display = "none" } function disableEmailOtpResend(){ emailOtpResendBtn.style.display = "none"; emailOtpTimer.style.display = "block" } function keyForEmailOtpToken(email, pageCode) { return email + '|' + pageCode+ '|SUBSCRIBE_VIA_EMAIL'; } </script> </div> <div class="container"> <div class="page-status status-none"> <span class="status font-large"> All Systems Operational </span> <span class="last-updated-stamp font-small"></span> </div> <div class="text-section"> <h4 class="font-largest"> <a id="about-this-site" href="#about-this-site" class="no-link">About This Site</a> </h4> <p class="color-secondary font-regular"> Welcome to the New Relic status page. To configure notifications for service incidents, click Subscribe to Updates. For past incident information, see the Incident History. </p> </div> <div class="components-section font-regular"> <div class="components-container one-column"> <div class="component-container border-color is-group "> <div data-component-id="5ny4tqfmdgmb" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Data Ingest : US" tabindex="0"></span> <span> Data Ingest : US </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="2vkckmpm1kh6" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> APM Agent : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="1ccpnwlhg6xx" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Browser Agent : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="45zc1fn1w80h" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Event API : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="5kywhg5j0l21" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Incident Intelligence API : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="2jrn08x58ps2" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Infrastructure Agent : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="pmtvnzg1dzfm" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Log API : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="s27h21w34qhk" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Metric API : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="6x8hq64xfvwl" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Mobile Agent : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="833c8h98qq4g" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> OTLP API : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="czn9jxzshjxn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Trace API : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="xlzs28xhd8bw" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Synthetics : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="x8k84t770btr" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Alert Notifications : US" tabindex="0"></span> <span> Alert Notifications : US </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="rbts0zzw73dl" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> APM : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="5x10l9g2z3t6" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Browser : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="028b05n94my0" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Infrastructure : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="5p33lkzzqm0z" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Logs : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ymfwncrn2dnh" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Mobile : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="9jndj4kfv59w" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NRQL : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="lm2qpsbfggh7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Serverless : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="prjgs1mvmqg9" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Synthetics : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="yccndq67x7cs" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle UI : US" tabindex="0"></span> <span> UI : US </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="k4c77k6bzcl7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Alerts : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="ty1004s644gq" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> APM : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="k2c0hnpnmgqn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Auto-Telemetry with Pixie : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="j6v4tzmw08t4" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AWS Lambda Integration : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="1mwh21hqrxlw" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Browser : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="nw4g7754n7tl" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Dashboards : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="x87lk2mkvdtx" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Incident Intelligence : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="g3mtj9z8c1cq" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Infrastructure : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="q94v4hz14v0f" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Infrastructure Integrations : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="xrzsz1k79xbd" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Logs : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="5qhzckvc2ncn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Lookout : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="mc4f9x2xl1zg" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Mobile : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="927km3k58wgb" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Open Instrumentation : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="8k5pmrjbl1w0" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Proactive Detection : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="7yqy1ctsjw35" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Serverless : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="5kj1rklxtgzg" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Synthetics : US </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="dv8z660n566m" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Data Ingest : Europe" tabindex="0"></span> <span> Data Ingest : Europe </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="y3p11yl1yr8m" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> APM Agent : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="zsjcl7zv5sn2" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Browser Agent : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="yqcw0krmvwj5" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Event API : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="jk2k3ln898rx" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Incident Intelligence API : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="hm4r9fn1gr93" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Infrastructure Agent : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="858xlnc93b96" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Log API : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="vdkznxzlr7nn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Metric API : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="jdszr85tpvd1" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Mobile Agent : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="0ggq3l63l1sh" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> OTLP API : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="15b9hc4j611g" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Trace API : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="64hk5ch1ww5b" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Synthetics : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="l530ph0gpxcc" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle Alert Notifications : Europe" tabindex="0"></span> <span> Alert Notifications : Europe </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="d9pwhb6snl77" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> APM : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="tpj67jyc58sb" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Browser : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="zj32brg420jm" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Infrastructure : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="hymb519q08z0" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Logs : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="fp51bfh70sht" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Mobile : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="5ny464vz0n83" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> NRQL : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="xzllc95t20c2" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Serverless : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="8h442mvws6w7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Synthetics : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color is-group "> <div data-component-id="ybw36cw8b12l" class="component-inner-container status-green " data-component-status="operational" data-js-hook="component-group-opener"> <span class="name"> <span class="fa group-parent-indicator color-secondary font-small fa-plus-square-o" role="button" aria-expanded="false" aria-label="Toggle UI : Europe" tabindex="0"></span> <span> UI : Europe </span> </span> <span class="component-status tool" title="Groups take on the status of their most degraded child component or service. Click to see the status of the individual children." > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <!-- children components --> <div class="child-components-container "> <div data-component-id="ssdh7xpzvw1l" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Alerts : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="gmn0nk8bzns7" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> APM : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="dgtbt0fh397m" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Auto-Telemetry with Pixie : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="fpds3wrx84c0" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> AWS Lambda Integration : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="zhbggrqh2xl6" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Browser : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="6qh38lgrdr8v" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Dashboards : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="5ptd99lkyfbn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Incident Intelligence : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="vr1305kd0fnz" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Infrastructure : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="dw81gfk0f10y" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Infrastructure Integrations : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="r6fg75bj1j7h" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Logs : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="36218xs1zbvy" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Lookout : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="5wk3qb87hk5h" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Mobile : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="s7j157s900c3" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Open Instrumentation : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="jgl5xywwz8l3" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Proactive Detection : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="zbbfpr0656gw" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Serverless : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> <div data-component-id="0zhztcy8gf0v" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Synthetics : Europe </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-container border-color"> <div data-component-id="yhld3kylj6fn" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> isNewUser </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-statuses-legend font-small"> <div class="legend-item status-green"> <span class="icon-indicator fa fa-check"></span> Operational </div> <div class="legend-item status-yellow"> <span class="icon-indicator fa fa-minus-square"></span> Degraded Performance </div> <div class="legend-item status-orange"> <span class="icon-indicator fa fa-exclamation-triangle"></span> Partial Outage </div> <div class="breaker"></div> <div class="legend-item status-red"> <span class="icon-indicator fa fa-times"></span> Major Outage </div> <div class="legend-item status-blue"> <span class="icon-indicator fa fa-wrench"></span> Maintenance </div> </div> </div> <div class="scheduled-maintenances-container"> <div class="font-largest">Scheduled Maintenance</div> <div class="scheduled-maintenance"> <div class="incident-title font-large border-color"> <a href="https://status.newrelic.com/incidents/3vm9djscpk4b" class="color-primary" title="Scheduled Maintenance for the US &amp;amp; EU Regions - February 23rd 03:00 UTC to 05:00 UTC"> <span class="whitespace-pre-wrap">Scheduled Maintenance for the US & EU Regions - February 23rd 03:00 UTC to 05:00 UTC</span> </a> <small class="pull-right" data-unix-time="1740279600"> Feb <var data-var='date'>23</var>, <var data-var='year'>2025</var> <var data-var='time'>03:00</var>-<var data-var='time'>05:00</var> UTC </small> </div> <div class="updates-container font-regular"> <div class="update"> <span class="whitespace-pre-wrap">We intend to perform maintenance on Sunday, February 23rd from 03:00 UTC to 05:00 UTC (or Saturday, February 22nd from 19:00 PST to 21:00 PST). <br /><br />Customers in the US & EU regions can expect a short service interruption at some point during this timeframe which may include anomalies for New Relic as described below:<br />- inability to render the New Relic UI<br />- inability to create or modify configurations for alert conditions, drop rules, streaming export rules, and filtered streams<br /><br />Please note, we do not anticipate impact to data ingest or alert notifications. All further updates will be posted here on our status page.</span> <br> <small> <var data-var="posted-on">Posted on</var> <span class="ago" data-datetime-unix="1739466596000"></span>Feb <var data-var='date'>13</var>, <var data-var='year'>2025</var> - <var data-var='time'>17:09</var> UTC </small> </div> </div> </div> </div> <div class="incidents-list format-expanded"> <a class="font-largest no-link" id="past-incidents" href="#past-incidents">Past Incidents</a> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Feb <var data-var="date">21</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported today.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Feb <var data-var="date">20</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Feb <var data-var="date">19</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Feb <var data-var="date">18</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Feb <var data-var="date">17</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Feb <var data-var="date">16</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Feb <var data-var="date">15</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Feb <var data-var="date">14</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Feb <var data-var="date">13</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Feb <var data-var="date">12</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Feb <var data-var="date">11</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Feb <var data-var="date">10</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Feb <var data-var="date"> 9</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Feb <var data-var="date"> 8</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Feb <var data-var="date"> 7</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> </div> <div class="page-footer border-color font-small"> <a href="/history" class="history-footer-link"><span style="font-family:arial">&larr;</span> Incident History</a> <span class="color-secondary powered-by"><a class="color-secondary" target="_blank" rel="noopener noreferrer nofollow" href="https://www.atlassian.com/software/statuspage?utm_campaign=status.newrelic.com&amp;utm_content=SP-notifications&amp;utm_medium=powered-by&amp;utm_source=inapp">Powered by Atlassian Statuspage</a></span> </div> </div> <div class="custom-footer-container"> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-3047412-24', 'auto'); ga('send', 'pageview'); </script> <script> !function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;t<analytics.methods.length;t++){var e=analytics.methods[t];analytics[e]=analytics.factory(e)}analytics.load=function(t,e){var n=document.createElement("script");n.type="text/javascript";n.async=!0;n.src="https://cdn.segment.com/analytics.js/v1/"+t+"/analytics.min.js";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a);analytics._loadOptions=e};analytics.SNIPPET_VERSION="4.1.0"; analytics.load("Z5nB8TvkbVg1euzKqEzi0JjEEtC3UTZk"); analytics.page(); analytics.track('StatusPageVisit', { title: 'Status Page' }); }}(); </script> <footer id="custom-footer"> <div align="center"> <a class="logo" href="https://newrelic.com" target="_blank"> <svg width="83" height="16" viewBox="0 0 83 16" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#a)"><g clip-path="url(#b)"><path d="M11.191 5.539v4.922l-4.262 2.462V16l6.928-4V4l-2.666 1.539Z" fill="#00AC69"></path><path d="m6.929 3.078 4.262 2.46L13.857 4 6.93 0 0 4l2.665 1.539L6.93 3.078Z" fill="#1CE783"></path><path d="M4.263 9.54v4.922L6.93 16V8L0 4v3.078l4.263 2.461ZM23.367 3.989c-1.491 0-2.198.942-2.198.942h-.078l-.156-.785h-1.807v8.007h1.963v-4.63c0-1.02.704-1.727 1.727-1.727 1.022 0 1.727.705 1.727 1.727v4.63h1.963V7.364c0-2.04-1.335-3.375-3.14-3.375ZM44.534 9.406h-.113l-1.335-5.26H41.09l-1.335 5.26h-.112l-1.335-5.26h-2.041l2.04 8.007h2.391l1.334-5.181h.112l1.335 5.181h2.39l2.04-8.007h-2.04l-1.335 5.26ZM53.92 4.852h-.08l-.156-.704h-1.649v8.006h1.963v-4.63c0-1.02.47-1.491 1.491-1.491h1.007V4.147h-1.168a1.767 1.767 0 0 0-1.409.705ZM60.839 3.989c-2.355 0-4.082 1.727-4.082 4.16 0 2.434 1.63 4.161 4.082 4.161 1.985 0 3.181-1.168 3.68-2.028l-1.802-.642c-.178.326-.897.953-1.878.953-1.145 0-1.962-.716-2.119-1.811h5.965c.056-.258.082-.522.079-.786 0-2.28-1.727-4.007-3.925-4.007ZM58.72 7.443c.236-1.02.942-1.806 2.119-1.806 1.1 0 1.805.785 1.962 1.806H58.72ZM31.845 3.989c-2.355 0-4.082 1.727-4.082 4.16 0 2.434 1.626 4.161 4.082 4.161 1.986 0 3.18-1.168 3.679-2.028l-1.802-.642c-.178.326-.896.953-1.877.953-1.144 0-1.963-.716-2.12-1.811h5.967a3.57 3.57 0 0 0 .078-.786c0-2.28-1.727-4.007-3.925-4.007Zm-2.12 3.454c.236-1.02.942-1.806 2.12-1.806 1.1 0 1.806.785 1.963 1.806h-4.083ZM71.625.984h-1.963v1.963h1.963V.984ZM77.041 10.505c-1.178 0-2.12-.942-2.12-2.356 0-1.413.942-2.355 2.12-2.355 1.178 0 1.649.785 1.806 1.256l1.777-.632c-.43-1.118-1.488-2.43-3.583-2.43-2.355 0-4.082 1.728-4.082 4.161 0 2.434 1.727 4.161 4.082 4.161 2.114 0 3.17-1.332 3.593-2.504l-1.787-.636c-.157.55-.628 1.335-1.806 1.335ZM64.981 2.729h1.115v9.424h1.962V.984h-3.077V2.73ZM71.625 4.146h-1.963v8.007h1.963V4.146ZM81.685 10.617a.758.758 0 1 0 .746.757.732.732 0 0 0-.746-.757Zm0 1.398a.641.641 0 1 1 .63-.64.617.617 0 0 1-.63.636v.004Z" fill="#1D252C"></path><path d="M82.01 11.234a.266.266 0 0 0-.284-.263h-.336v.789h.116v-.274h.105l.273.274h.144l-.273-.274a.255.255 0 0 0 .255-.252Zm-.503.136v-.284h.22a.149.149 0 0 1 .117.037.152.152 0 0 1 .051.111c0 .084-.053.136-.169.136h-.22Z" fill="#1D252C"></path></g></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h82.462v16H0z"></path></clipPath><clipPath id="b"><path fill="#fff" d="M0 0h82.431v16H0z"></path></clipPath></defs></svg> </a> <span style="font-size: 10pt">&nbsp;&nbsp;漏2008-24 New Relic, Inc. All rights reserved.&nbsp;&nbsp;</span> <span style="font-size: 10pt"><a target="_blank" href="https://newrelic.com/termsandconditions/terms">Terms of Service</a> - </span> <span style="font-size: 10pt"><a target="_blank" href="https://newrelic.com/termsandconditions/dmca">DMCA Policy</a> - </span> <span style="font-size: 10pt"><a target="_blank" href="https://newrelic.com/termsandconditions/privacy">Privacy Policy/Your Privacy Rights</a> - </span> <span style="font-size: 10pt"><a target="_blank" href="https://newrelic.com/termsandconditions/modern-slavery-act">UK Slavery Act of 2015</a></span> </div> </footer> </div> </div> <script src="https://dka575ofm4ao0.cloudfront.net/assets/status_manifest-6a7ae3a8e2e1b1e1d9466495faa0851c3f5fff938743f6501c900aa2a8792e8c.js"></script> <div id="cpt-notification-container"></div> <!-- all of the content_for stuff --> <script src="https://dka575ofm4ao0.cloudfront.net/assets/register_subscription_form-589b657fec607087fc5c740c568270907310bc4f6aaa20256e70f01b103025ca.js"></script> <script type="text/javascript"> $(function() { SP.currentPage.registerSubscriptionForm('email'); SP.currentPage.registerSubscriptionForm('sms'); SP.currentPage.registerSubscriptionForm('webhook'); }); </script> <script src="https://dka575ofm4ao0.cloudfront.net/assets/status_common-c1b99d73ee7ab0fea796bd170723c1daac1381095a7dd7501a38ce6f333d86b3.js"></script> <script> SP.pollForChanges('/api/v2/status.json'); </script> <script> $(function() { $('.tool').tooltipster({ animationDuration: 100, contentAsHTML: true, delay: 100, theme: 'tooltipster-borderless', functionInit: function (instance, helper) { var $origin = $(helper.origin), dataOptions = $origin.attr('data-tooltip-config'); if (dataOptions){ dataOptions = JSON.parse(dataOptions); $.each(dataOptions, function(name, option){ instance.option(name, option); }); } } }); // clicks on first tab in subscribe popout since we won't know which is first // upon construction in the ruby code $('.updates-dropdown-nav > a').eq(0).click(); // twitter follow button needs some margin $('.twitter-follow-button').css('margin-right', '6px'); }); $(function() { // open/close component groups HRB.utils.djshook('component-group-opener').on('click', function() { var groupParentIndicator = $(this).find('.group-parent-indicator'); groupParentIndicator.toggleClass('fa-plus-square-o').toggleClass('fa-minus-square-o').end().parent().toggleClass('open'); toggleGroup(groupParentIndicator) }); }); $(function() { HRB.utils.djshook('component-group-opener').on('keydown', function(event) { if (event.key !== "Enter" && event.key !== " ") { return; } event.preventDefault() var groupParentIndicator = $(this).find('.group-parent-indicator'); groupParentIndicator.toggleClass('fa-plus-square-o').toggleClass('fa-minus-square-o').end().parent().toggleClass('open'); toggleGroup(groupParentIndicator) }); }); function toggleGroup(groupParentIndicator) { var isOpen = groupParentIndicator.attr('aria-expanded') if (isOpen == 'false') { groupParentIndicator.attr('aria-expanded', 'true'); } else { groupParentIndicator.attr('aria-expanded', 'false'); } } $(function() { $(document).on('ajax:complete', '.modal.in', function(e) { // Close the active modal. $('.modal.in').modal('hide'); }); }); </script> <script> /** INITIALIZATION **/ var recaptchaIds = {} // Unfortunately there's no unique selectors on the parent divs that recaptcha adds. The first unique selector // is the iframe rendered 2 levels deep. So this waits until the iframes are added to the page, then finds // the parent div and sets the z index so that it'll render above our modals & dropdowns from the start. function setZIndex(captchaCount, startTime) { // bail after 10s just in case so we don't do this forever if something whaky happens if (new Date() - startTime > 10000) { return; } var iframes = document.querySelectorAll('iframe[title="recaptcha challenge"]'); if (iframes.length != captchaCount) { setTimeout(function() { setZIndex(captchaCount, startTime); }, 500); } for (var i = 0; i < iframes.length; i++) { // incident subscribe modal is 1050, so this has to be above that iframes[i].parentElement.parentElement.style.zIndex = "1100"; } } function updateCaptchaIframeTitle(captchaCount, startTime, updates=0) { if (new Date() - startTime > 10000 || captchaCount === updates) { return; } var iframesWithTitle = document.querySelectorAll('iframe[title="recaptcha challenge expires in two minutes"]'); if (iframesWithTitle.length != captchaCount) { setTimeout(function() { updateCaptchaIframeTitle(captchaCount, startTime, iframesWithTitle.length + updates); }, 500); } for (var i = 0; i < iframesWithTitle.length; i++) { iframesWithTitle[i].title = "recaptcha"; } } function addIncidentCaptcha() { var incidentCaptcha = document.createElement('div'); incidentCaptcha.setAttribute('id', 'subscribe-incident-recaptcha'); incidentCaptcha.setAttribute('class', 'g-recaptcha'); incidentCaptcha.setAttribute('data-sitekey', '6LcZ-b0UAAAAAENi956aWzynTT2ZJ80dGU3F80Op'); incidentCaptcha.setAttribute('data-callback', 'submitIncidentSubscriberSuccess'); incidentCaptcha.setAttribute('data-error-callback', 'submitIncidentSubscriberError'); incidentCaptcha.setAttribute('data-size', 'invisible'); document.body.appendChild(incidentCaptcha); var incidentCode = document.createElement('input'); incidentCode.setAttribute('type', 'hidden'); incidentCode.setAttribute('id', 'submit_incident_code'); document.body.appendChild(incidentCode); } var onloadCallback = function() { // if there is an incident, then add incident captcha element if (document.getElementsByClassName('modal-open-incident-subscribe').length > 0) { addIncidentCaptcha(); } var captchas = document.getElementsByClassName("g-recaptcha"); for(var i = 0; i < captchas.length; i++) { var elId = captchas[i].id; recaptchaIds[elId] = grecaptcha.enterprise.render(elId); } setZIndex(captchas.length, new Date()); updateCaptchaIframeTitle(captchas.length, new Date()); } /** SUBSCRIBE DROPDOWN */ // callbacks for captcha success function submitNewSubscriber(type, error) { if (error) document.querySelector('#subscribe-form-' + type + ' #captcha_error').value = 'true'; document.getElementById('subscribe-form-' + type).dispatchEvent(new Event('submit', {bubbles: true, cancelable: true})); grecaptcha.enterprise.reset(recaptchaIds['subscribe-btn-' + type]); } function submitNewEmailSubscriber(token) { submitNewSubscriber('email'); } function submitNewSmsSubscriber(token) { submitNewSubscriber('sms'); } function submitNewWebhookSubscriber(token) { submitNewSubscriber('webhook'); } function submitIncidentSubscriber(token, error) { var incidentCode = document.getElementById('submit_incident_code').value; var incidentForm = document.getElementById('subscribe-form-' + incidentCode); incidentForm.querySelector('input[name="captcha_error"]').value = error; incidentForm.querySelector('input[name="g-recaptcha-response"]').value = token; incidentForm.dispatchEvent(new Event('submit', {bubbles: true, cancelable: true})); grecaptcha.enterprise.reset(recaptchaIds['subscribe-incident-recaptcha']); } function submitIncidentSubscriberSuccess(token) { submitIncidentSubscriber(token, 'false'); } // callbacks if we get captcha network errors function emailSubscriberCaptchaError(token) { submitNewSubscriber('email', true); } function smsSubscriberCaptchaError(token) { submitNewSubscriber('sms', true); } function webhookSubscriberCaptchaError(token) { submitNewSubscriber('webhook', true); } function submitIncidentSubscriberError(token) { submitIncidentSubscriber(token, 'true'); } // tracking clicks ['email', 'sms', 'webhook'].forEach(function(type) { var el = document.getElementById('subscribe-btn-' + type); el && el.addEventListener("click", function() { $.ajax({ type: "POST", url: "/subscriptions/track_attempt", data: { type: type } }) }) }) // form submission success callbacks $('#subscribe-form-email').on('ajax:success', function(e, data, status, xhr){ if (data.type === 'success') { SP.currentPage.updatesDropdown.hide(); document.getElementById('email').value = ''; } }); $('#subscribe-form-sms').on('ajax:success', function(e, data, status, xhr){ if (data.type === 'success' && data.otp_flow !== true) { SP.currentPage.updatesDropdown.hide(); document.getElementById('phone-number').value = ''; } }); $('#subscribe-form-webhook').on('ajax:success', function(e, data, status, xhr){ if (data.type === 'success') { SP.currentPage.updatesDropdown.hide(); document.getElementById('endpoint-webhooks').value = ''; document.getElementById('email-webhooks').value = ''; } }); $('a.subscribe').on('click', function() { document.body.style.overflow = "hidden"; document.body.style.height = "100vh"; }); $('div.modal-open-incident-subscribe').on('hidden', function(){ document.body.style.overflow = ""; document.body.style.height = ""; }); function submitCaptchaIncidentSubscribe(event) { var incidentCode = event.target.id.split('-')[2]; event.preventDefault(); $.ajax({ type: "POST", url: "/subscriptions/track_attempt", data: { type: 'incident' } }) document.getElementById('submit_incident_code').value = incidentCode; grecaptcha.enterprise.execute(recaptchaIds['subscribe-incident-recaptcha']); } </script> <script src='https://www.recaptcha.net/recaptcha/enterprise.js?onload=onloadCallback&render=explicit' async defer></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/common-b45a59df4cdf9120c9c3.chunk.js"></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/globals-ab1c4b5ca64732f9a6c8.chunk.js"></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/runtime-58677388275192231eb9.js"></script> <script> window.addEventListener('load', function () { const urlParams = new URLSearchParams(window.location.search); const messageToken = urlParams.get('slack_message_token'); const channelName = escape(urlParams.get('channel_name')); if(!!messageToken) { switch(messageToken) { case 'slack_auth_error': HRB.utils.notify('The Slack authorization attempt was unsuccessful. Try again.', {cssClass:'error'}); break; case 'subscribers_disabled_error': HRB.utils.notify('Slack subscriptions are not enabled on this page.', {cssClass:'error'}); break; case 'direct_message_channel_error': HRB.utils.notify('Subscriptions aren鈥檛 supported in direct messages. Try subscribing again and choose a channel instead.', {cssClass:'error'}); break case 'duplicate_error': HRB.utils.notify("You're already subscribed to get Slack notifications in that channel.", {cssClass:'error'}); break; case 'duplicate_private_channel_error': HRB.utils.notify(`You're already subscribed to get Slack notifications in #${channelName}. Invite the @Statuspage app to that channel to start getting status updates.`, {cssClass: 'error'}); break; case 'default_success': HRB.utils.notify("You're now subscribed to get Statuspage updates in Slack!", {cssClass:'success'}); break; case 'private_channel_success': HRB.utils.notify(`IMPORTANT: Invite the @Statuspage app to your Slack channel #${channelName} to start getting status updates.`, {cssClass:'success'}); break; } } }); </script> <!-- FOR FLASH NOTICES --> <!-- FOR ERROR --> <script> $(function() { var $link = $('<span class="color-secondary powered-by"><a class="color-secondary" target="_blank" rel="noopener noreferrer nofollow" href="https://www.atlassian.com/software/statuspage?utm_campaign=status.newrelic.com&amp;utm_content=SP-notifications&amp;utm_medium=powered-by&amp;utm_source=inapp">Powered by Atlassian Statuspage</a></span>'); var setPoweredByStyles = function() { if (!$('.powered-by').length) { $link.appendTo($('.page-footer')) } $('.powered-by').attr('style', 'display: inline !important; visibility:visible !important; opacity: 1 !important; position:static !important; text-indent:0px !important; transform:scale(1) !important'); } setInterval(setPoweredByStyles, 1000); }); </script> </body> </html>

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