99
1010var app = module . exports = require ( 'express' ) ( ) ;
1111var debug = require ( 'debug' ) ( 'runnable-api:actions:analyze' ) ;
12+ var dogstatsd = require ( 'models/datadog' ) ;
1213var find = require ( '101/find' ) ;
1314var flow = require ( 'middleware-flow' ) ;
1415var github = require ( 'middlewares/apis' ) . github ;
@@ -105,6 +106,7 @@ var extractProjectDependencyList = flow.series(
105106 */
106107function 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 */
134137function 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 + ) ? g e m \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 */
157162function 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 - z 0 - 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