1
0
mirror of synced 2025-12-25 11:03:37 -05:00
Files
docs/lib/warm-server.js
Jason Etcovitch 86c9bbf7c3 Instrument warm-server via Datadog (#16566)
Co-author: @chiedo

Co-authored-by: Chiedo John <2156688+chiedo@users.noreply.github.com>
2020-11-20 13:09:39 -05:00

30 lines
894 B
JavaScript

const statsd = require('./statsd')
const fetchEarlyAccessPaths = require('./fetch-early-access-paths')
let pages, site, redirects, siteTree, earlyAccessPaths
async function warmServer () {
if (!pages) {
if (process.env.NODE_ENV !== 'test') {
console.log('Priming context information')
}
// Promise.all is used to load multiple things in parallel
[pages, site, earlyAccessPaths] = await Promise.all([
require('./pages')(),
require('./site-data')(),
fetchEarlyAccessPaths()
])
redirects = await require('./redirects/precompile')(pages)
siteTree = await require('./site-tree')(pages, site, redirects)
}
return {
pages, site, redirects, siteTree, earlyAccessPaths
}
}
// Instrument the `warmServer` function so that
// it's wrapped in a timer that reports to Datadog
module.exports = statsd.asyncTimer(warmServer, 'warm_server')