@google/cloud-analytics
v0.1.1
Published
TypeScript/JavaScript client logging for Cloud Analytics.
Downloads
16
Readme
Cloud Analytics: Typescript
Cloud Analytics is a library used for logging product usage metrics for Cloud products. Data is stored in the Concord Data Warehouse in a privacy compliant manner.
How to use the library
Logging a single event can be done by creating an instance of CloudAnalytics and passing an event to logEvent.
import {CloudAnalytics} from './cloud_analytics';
const cloudAnalytics = new CloudAnalytics(
'TEST',
'testApiKey');
const concordEvent = {
type: 'eventType',
name: 'eventName',
projectNumber: '1234567890',
latency: 123,
metadata: [
{key: 'test1', value: 'data1'},
{key: 'test2', value: 'data2'},
],
userSessionId: '12345',
};
cloudAnalytics.logEvent(concordEvent);
Batching Events
Batching can be configured by calling enableBatchMode with a desired flush interval. Events will be queued until the specified interval is reached, or until various browser environment events occur. These include document page hide, window beforeUnload & unload. For Node.JS these include the beforeExit SIGHUP events.
In the below snippet these two calls to logEvent are batched and sent along in the same HTTP request.
import {CloudAnalytics} from './cloud_analytics';
const cloudAnalytics = new CloudAnalytics(
'TEST',
'testApiKey');
cloudAnalytics.enableBatchMode(1000);
const concordEventOne = {
type: 'eventType',
name: 'eventName',
projectNumber: '1234567890',
latency: 123,
metadata: [
{key: 'test1', value: 'data1'},
{key: 'test2', value: 'data2'},
],
userSessionId: '12345',
};
cloudAnalytics.logEvent(concordEventOne);
const concordEventOne = {
type: 'eventType',
name: 'eventName',
projectNumber: '1234567890',
latency: 456,
metadata: [
{key: 'test1', value: 'data1'},
{key: 'test2', value: 'data2'},
],
userSessionId: '12345',
};
cloudAnalytics.logEvent(concordEventOne);