mirror of
https://github.com/nasa/openmct.git
synced 2025-06-16 06:08:11 +00:00
[Telemetry] Bring in telemetry bundle
Bring in initial state for the platform/telemetry bundle, which provides general-purpose telemetry conventions and infrastructure to support creating domain objects which expose telemetry data. WTD-575.
This commit is contained in:
43
platform/telemetry/src/TelemetryAggregator.js
Normal file
43
platform/telemetry/src/TelemetryAggregator.js
Normal file
@ -0,0 +1,43 @@
|
||||
/*global define,Promise*/
|
||||
|
||||
/**
|
||||
* Module defining TelemetryProvider. Created by vwoeltje on 11/12/14.
|
||||
*/
|
||||
define(
|
||||
[],
|
||||
function () {
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
*
|
||||
* @constructor
|
||||
*/
|
||||
function TelemetryAggregator($q, telemetryProviders) {
|
||||
|
||||
function mergeResults(results) {
|
||||
var merged = {};
|
||||
|
||||
results.forEach(function (result) {
|
||||
Object.keys(result).forEach(function (k) {
|
||||
// Otherwise, just take the result
|
||||
merged[k] = result[k];
|
||||
});
|
||||
});
|
||||
|
||||
return merged;
|
||||
}
|
||||
|
||||
function requestTelemetry(requests) {
|
||||
return $q.all(telemetryProviders.map(function (provider) {
|
||||
return provider.requestTelemetry(requests);
|
||||
})).then(mergeResults);
|
||||
}
|
||||
|
||||
return {
|
||||
requestTelemetry: requestTelemetry
|
||||
};
|
||||
}
|
||||
|
||||
return TelemetryAggregator;
|
||||
}
|
||||
);
|
Reference in New Issue
Block a user