diff options
Diffstat (limited to 'ui/imports/api/statistics')
-rw-r--r-- | ui/imports/api/statistics/helpers.js | 64 | ||||
-rw-r--r-- | ui/imports/api/statistics/methods.js | 159 | ||||
-rw-r--r-- | ui/imports/api/statistics/server/publications.js | 52 | ||||
-rw-r--r-- | ui/imports/api/statistics/statistics.js | 14 |
4 files changed, 0 insertions, 289 deletions
diff --git a/ui/imports/api/statistics/helpers.js b/ui/imports/api/statistics/helpers.js deleted file mode 100644 index 7cb78e8..0000000 --- a/ui/imports/api/statistics/helpers.js +++ /dev/null @@ -1,64 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others / -// / -// All rights reserved. This program and the accompanying materials / -// are made available under the terms of the Apache License, Version 2.0 / -// which accompanies this distribution, and is available at / -// http://www.apache.org/licenses/LICENSE-2.0 / -///////////////////////////////////////////////////////////////////////////////////////// -import * as R from 'ramda'; - -export function createGraphQuerySchema( - env, - object_id, - type, - flowType, - timeStart, - timeEnd, - sourceMacAddress, - destinationMacAddress, - sourceIPv4Address, - destinationIPv4Address) { - - let schema = { - environment: env, - object_id: object_id, - type: type, - flowType: flowType, - /* - averageArrivalNanoSeconds: { - $gte: timeStart, - //$lt: timeEnd - } - */ - data_arrival_avg: { - $gte: timeStart, - } - }; - - if (! R.isNil(timeEnd)) { - //schema = R.assocPath(['averageArrivalNanoSeconds', '$lt'], timeEnd, schema); - schema = R.assocPath(['data_arrival_avg', '$lt'], timeEnd, schema); - } - - switch (flowType) { - case 'L2': - schema = R.merge(schema, { - sourceMacAddress: sourceMacAddress, - destinationMacAddress: destinationMacAddress - }); - break; - - case 'L3': - schema = R.merge(schema, { - sourceIPv4Address: sourceIPv4Address, - destinationIPv4Address: destinationIPv4Address - }); - break; - - default: - break; - } - - return schema; -} diff --git a/ui/imports/api/statistics/methods.js b/ui/imports/api/statistics/methods.js deleted file mode 100644 index 23a216d..0000000 --- a/ui/imports/api/statistics/methods.js +++ /dev/null @@ -1,159 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others / -// / -// All rights reserved. This program and the accompanying materials / -// are made available under the terms of the Apache License, Version 2.0 / -// which accompanies this distribution, and is available at / -// http://www.apache.org/licenses/LICENSE-2.0 / -///////////////////////////////////////////////////////////////////////////////////////// -import * as R from 'ramda'; -import { Statistics } from './statistics'; -import { createGraphQuerySchema } from './helpers'; - -Meteor.methods({ - 'statistics.flowTypes?env&object_id&type'({ env, object_id, type}) { - console.log('subscribe: statistics.flowTypes?env&object_id&type'); - console.log(`- env: ${env}`); - console.log(`- object_id: ${object_id}`); - console.log(`- type: ${type}`); - - let pipeline = [{ - $match: { - environment: env, - object_id: object_id, - type: type - } - }, { - $group: { - _id: { flowType: '$flowType' }, - flowType: { $first: '$flowType' } - } - }]; - - return Statistics.aggregate(pipeline); - }, - - 'statistics.srcMacAddresses?env&object_id&type&flowType'( - { env, object_id, type, flowType }) { - - let pipeline = [{ - $match: { - environment: env, - object_id: object_id, - type: type, - flowType: flowType - } - }, { - $group: { - _id: { sourceMacAddress: '$sourceMacAddress' }, - sourceMacAddress: { $first: '$sourceMacAddress' } - } - }]; - - return Statistics.aggregate(pipeline); - }, - - 'statistics.dstMacAddresses?env&object_id&type&flowType'( - { env, object_id, type, flowType }) { - - let pipeline = [{ - $match: { - environment: env, - object_id: object_id, - type: type, - flowType: flowType - } - }, { - $group: { - _id: { destinationMacAddress: '$destinationMacAddress' }, - destinationMacAddress: { $first: '$destinationMacAddress' } - } - }]; - - return Statistics.aggregate(pipeline); - }, - - 'statistics.srcIPv4Addresses?env&object_id&type&flow_typw'( - { env, object_id, type, flowType }) { - let pipeline = [{ - $match: { - environment: env, - object_id: object_id, - type: type, - flowType: flowType - } - }, { - $group: { - _id: { sourceIPv4Address: '$sourceIPv4Address' }, - sourceIPv4Address: { $first: '$sourceIPv4Address' } - } - }]; - - return Statistics.aggregate(pipeline); - }, - - 'statistics.dstIPv4Addresses?env&object_id&type&flowType'( - { env, object_id, type, flowType }) { - let pipeline = [{ - $match: { - environment: env, - object_id: object_id, - type: type, - flowType: flowType - } - }, { - $group: { - _id: { destinationIPv4Address: '$destinationIPv4Addres' }, - destinationIPv4Address: { $first: '$destinationIPv4Addres' } - } - }]; - - return Statistics.aggregate(pipeline); - }, - - 'statistics!graph-frames'({ - env, - object_id, - type, - flowType, - timeStart, - timeEnd, - sourceMacAddress, - destinationMacAddress, - sourceIPv4Address, - destinationIPv4Address - }) { - let schema = createGraphQuerySchema( - env, - object_id, - type, - flowType, - timeStart, - timeEnd, - sourceMacAddress, - destinationMacAddress, - sourceIPv4Address, - destinationIPv4Address); - - console.log('statistics!graph-frames'); - console.log(`- env: ${env}`); - console.log(`- object_id: ${object_id}`); - console.log(`- type: ${type}`); - console.log(`- flowType: ${flowType}`); - console.log(`- timeStart: ${timeStart}`); - console.log(`- timeEnd: ${timeEnd}`); - console.log(`- sourceMacAddress: ${sourceMacAddress}`); - console.log(`- destinationMacAddress: ${destinationMacAddress}`); - console.log(`- sourceIPv4Address: ${sourceIPv4Address}`); - console.log(`- destinationIPv4Address: ${destinationIPv4Address}`); - - //let data = Statistics.find(schema).fetch(); - let data = Statistics.findOne(schema); - console.log(`- averageArrivalNanoSeconds: ${R.path([0, 'averageArrivalNanoSeconds'], data)}`); - - return data; - } -}); - - - diff --git a/ui/imports/api/statistics/server/publications.js b/ui/imports/api/statistics/server/publications.js deleted file mode 100644 index f69be56..0000000 --- a/ui/imports/api/statistics/server/publications.js +++ /dev/null @@ -1,52 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others / -// / -// All rights reserved. This program and the accompanying materials / -// are made available under the terms of the Apache License, Version 2.0 / -// which accompanies this distribution, and is available at / -// http://www.apache.org/licenses/LICENSE-2.0 / -///////////////////////////////////////////////////////////////////////////////////////// -import { Meteor } from 'meteor/meteor'; -//import { Counts } from 'meteor/tmeasday:publish-counts'; -import { Statistics } from '../statistics.js'; -import { createGraphQuerySchema } from '../helpers'; - -Meteor.publish('statistics!graph-frames', function ({ - env, - object_id, - type, - flowType, - timeStart, - sourceMacAddress, - destinationMacAddress, - sourceIPv4Address, - destinationIPv4Address -}) { - console.log('server subscribe: statistics?graph-frames'); - - let schema = createGraphQuerySchema( - env, - object_id, - type, - flowType, - timeStart, - null, - sourceMacAddress, - destinationMacAddress, - sourceIPv4Address, - destinationIPv4Address); - - console.log('statistics!graph-frames'); - console.log(`- env: ${env}`); - console.log(`- object_id: ${object_id}`); - console.log(`- type: ${type}`); - console.log(`- flowType: ${flowType}`); - console.log(`- timeStart: ${timeStart}`); - console.log(`- sourceMacAddress: ${sourceMacAddress}`); - console.log(`- destinationMacAddress: ${destinationMacAddress}`); - console.log(`- sourceIPv4Address: ${sourceIPv4Address}`); - console.log(`- destinationIPv4Address: ${destinationIPv4Address}`); - - return Statistics.find(schema); -}); - diff --git a/ui/imports/api/statistics/statistics.js b/ui/imports/api/statistics/statistics.js deleted file mode 100644 index 3391933..0000000 --- a/ui/imports/api/statistics/statistics.js +++ /dev/null @@ -1,14 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others / -// / -// All rights reserved. This program and the accompanying materials / -// are made available under the terms of the Apache License, Version 2.0 / -// which accompanies this distribution, and is available at / -// http://www.apache.org/licenses/LICENSE-2.0 / -///////////////////////////////////////////////////////////////////////////////////////// -import { Mongo } from 'meteor/mongo'; -//import { SimpleSchema } from 'meteor/aldeed:simple-schema'; -//import * as R from 'ramda'; - -export const Statistics = new Mongo.Collection( - 'statistics', { idGeneration: 'MONGO' }); |