Last active
December 27, 2017 16:56
-
-
Save brianchirls/d4ed7956080a0a083cc050184f854e28 to your computer and use it in GitHub Desktop.
Firebase realtime database trigger timing test
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'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