in Library/QuickPulseEnvelopeFactory.ts [14:41]
public static createQuickPulseEnvelope(metrics: Contracts.MetricQuickPulse[], documents: Contracts.DocumentQuickPulse[], config: Config, context: Context): Contracts.EnvelopeQuickPulse {
const machineName = (os && typeof os.hostname === "function"
&& os.hostname()) || "Unknown"; // Note: os.hostname() was added in node v0.3.3
const instance = (context.tags
&& context.keys
&& context.keys.cloudRoleInstance
&& context.tags[context.keys.cloudRoleInstance]) || machineName;
const roleName = (context.tags
&& context.keys
&& context.keys.cloudRole
&& context.tags[context.keys.cloudRole]) || null;
var envelope: Contracts.EnvelopeQuickPulse = {
Documents: documents.length > 0 ? documents : null,
InstrumentationKey: config.instrumentationKey || "",
Metrics: metrics.length > 0 ? metrics : null,
InvariantVersion: 1, // 1 -> v1 QPS protocol
Timestamp: `\/Date(${Date.now()})\/`,
Version: context.tags[context.keys.internalSdkVersion],
StreamId: StreamId,
MachineName: machineName,
Instance: instance,
RoleName: roleName
}
return envelope;
}