Skip to content

Commit ee63e9b

Browse files
committed
datadog timing stats
1 parent d2c8195 commit ee63e9b

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

lib/routes/actions/analyze/index.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
var app = module.exports = require('express')();
1111
var debug = require('debug')('runnable-api:actions:analyze');
12+
var dogstatsd = require('models/datadog');
1213
var find = require('101/find');
1314
var flow = require('middleware-flow');
1415
var github = require('middlewares/apis').github;
@@ -105,6 +106,7 @@ var extractProjectDependencyList = flow.series(
105106
*/
106107
function extractJS (req, res, next) {
107108
debug('extracting project dependency-modules for languageFramework: %s', req.languageFramework);
109+
var start = new Date();
108110
var depFile;
109111
try {
110112
depFile = JSON.parse(req.dependencyFileContent);
@@ -122,6 +124,7 @@ function extractJS (req, res, next) {
122124
nodejs: nodev,
123125
npm: npmv
124126
};
127+
dogstatsd.timing('api.actions-analyze-index.extractJS', new Date()-start, 1, []);
125128
next();
126129
}
127130

@@ -133,6 +136,7 @@ function extractJS (req, res, next) {
133136
*/
134137
function extractRuby (req, res, next) {
135138
debug('extracting project dependency-modules for languageFramework: %s', req.languageFramework);
139+
var start = new Date();
136140
var dependencies = [];
137141
var gemfileDependenciesRegexPattern = /^(\s+)?gem\s+['"](\S+)['"]/gm;
138142
var execResult = gemfileDependenciesRegexPattern.exec(req.dependencyFileContent);
@@ -145,6 +149,7 @@ function extractRuby (req, res, next) {
145149
ruby: req.supportedLanguageVersions.defaultVersion,
146150
rails: stacks.rails.defaultVersion
147151
};
152+
dogstatsd.timing('api.actions-analyze-index.extractRuby', new Date()-start, 1, []);
148153
next();
149154
}
150155

@@ -156,6 +161,7 @@ function extractRuby (req, res, next) {
156161
*/
157162
function extractPython (req, res, next) {
158163
debug('extracting project dependency-modules for languageFramework: %s', req.languageFramework);
164+
var start = new Date();
159165
var dependencies = [];
160166
var pythonDependenciesRegexPattern = /^([A-z0-9-_]+)/gm;
161167
var execResult = pythonDependenciesRegexPattern.exec(req.dependencyFileContent);
@@ -167,6 +173,7 @@ function extractPython (req, res, next) {
167173
req.inferredLanguageVersion = {
168174
python: req.supportedLanguageVersions.defaultVersion
169175
};
176+
dogstatsd.timing('api.actions-analyze-index.extractPython', new Date()-start, 1, []);
170177
next();
171178
}
172179

@@ -198,6 +205,7 @@ function inferDependenciesFromDependencyList (req, res, next) {
198205
suggestableServices = suggestableServicesPython;
199206
break;
200207
}
208+
var start = new Date();
201209
var inferredServices = suggestableServicesKeys.filter(function (key) {
202210
return find(suggestableServices[key], function (moduleThatMatchesSuggestableService) {
203211
return find(req.dependencyList, function (dependencyInProject) {
@@ -208,6 +216,8 @@ function inferDependenciesFromDependencyList (req, res, next) {
208216
});
209217
});
210218
});
219+
dogstatsd.timing('api.actions-analyze-index.inferDependenciesFromDependencyList',
220+
new Date()-start, 1, []);
211221
req.inferredDependencies = inferredServices;
212222
next();
213223
}

0 commit comments

Comments
 (0)