Skip to content

Instantly share code, notes, and snippets.

@brianchirls
Last active December 27, 2017 16:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brianchirls/d4ed7956080a0a083cc050184f854e28 to your computer and use it in GitHub Desktop.
Save brianchirls/d4ed7956080a0a083cc050184f854e28 to your computer and use it in GitHub Desktop.
Firebase realtime database trigger timing test
'use strict'; // until node.js supports modules
console.time('require dependencies');
const functions = require('firebase-functions');
console.timeEnd('require dependencies');
function checkDelay(event) {
const time = Date.now();
const eventTime = Date.parse(event.timestamp);
const snapshot = event.data;
const path = snapshot.ref.path.toString ? snapshot.ref.path.toString() : snapshot.ref.path.pieces_.join('/');
if (snapshot.exists()) {
console.log(`Trigger delay for ${path} @ ${eventTime}: ${time - eventTime}ms`);
} else {
console.log(`Data deleted for ${path} @ ${eventTime}: ${time - eventTime}ms`);
}
return Promise.resolve();
}
console.time('setting up triggers');
exports.checkDelay = functions.database.ref('/projects/{projectId}/data')
.onWrite(checkDelay);
console.timeEnd('setting up triggers');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment