change execution usage trigger
This commit is contained in:
parent
cf87cfab3a
commit
bdf9a64771
2 changed files with 32 additions and 16 deletions
|
@ -1721,6 +1721,13 @@ App::post('/v1/functions/:functionId/executions')
|
||||||
$execution->setAttribute('logs', $executionResponse['logs']);
|
$execution->setAttribute('logs', $executionResponse['logs']);
|
||||||
$execution->setAttribute('errors', $executionResponse['errors']);
|
$execution->setAttribute('errors', $executionResponse['errors']);
|
||||||
$execution->setAttribute('duration', $executionResponse['duration']);
|
$execution->setAttribute('duration', $executionResponse['duration']);
|
||||||
|
|
||||||
|
$queueForUsage
|
||||||
|
->addMetric(METRIC_EXECUTIONS, 1)
|
||||||
|
->addMetric(str_replace('{functionInternalId}', $function->getInternalId(), METRIC_FUNCTION_ID_EXECUTIONS), 1)
|
||||||
|
->addMetric(METRIC_EXECUTIONS_COMPUTE, (int)($executionResponse['duration'] * 1000))// per project
|
||||||
|
->addMetric(str_replace('{functionInternalId}', $function->getInternalId(), METRIC_FUNCTION_ID_EXECUTIONS_COMPUTE), (int)($executionResponse['duration'] * 1000))// per function
|
||||||
|
;
|
||||||
} catch (\Throwable $th) {
|
} catch (\Throwable $th) {
|
||||||
$durationEnd = \microtime(true);
|
$durationEnd = \microtime(true);
|
||||||
|
|
||||||
|
@ -1730,6 +1737,11 @@ App::post('/v1/functions/:functionId/executions')
|
||||||
->setAttribute('responseStatusCode', 500)
|
->setAttribute('responseStatusCode', 500)
|
||||||
->setAttribute('errors', $th->getMessage() . '\nError Code: ' . $th->getCode());
|
->setAttribute('errors', $th->getMessage() . '\nError Code: ' . $th->getCode());
|
||||||
Console::error($th->getMessage());
|
Console::error($th->getMessage());
|
||||||
|
|
||||||
|
$queueForUsage
|
||||||
|
->addMetric(METRIC_EXECUTIONS, 1)
|
||||||
|
->addMetric(str_replace('{functionInternalId}', $function->getInternalId(), METRIC_FUNCTION_ID_EXECUTIONS), 1)
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($function->getAttribute('logging')) {
|
if ($function->getAttribute('logging')) {
|
||||||
|
@ -1737,12 +1749,7 @@ App::post('/v1/functions/:functionId/executions')
|
||||||
$execution = Authorization::skip(fn () => $dbForProject->createDocument('executions', $execution));
|
$execution = Authorization::skip(fn () => $dbForProject->createDocument('executions', $execution));
|
||||||
}
|
}
|
||||||
|
|
||||||
$queueForUsage
|
|
||||||
->addMetric(METRIC_EXECUTIONS, 1)
|
|
||||||
->addMetric(str_replace('{functionInternalId}', $function->getInternalId(), METRIC_FUNCTION_ID_EXECUTIONS), 1)
|
|
||||||
->addMetric(METRIC_EXECUTIONS_COMPUTE, (int)($executionResponse['duration'] * 1000))// per project
|
|
||||||
->addMetric(str_replace('{functionInternalId}', $function->getInternalId(), METRIC_FUNCTION_ID_EXECUTIONS_COMPUTE), (int)($executionResponse['duration'] * 1000))// per function
|
|
||||||
;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -372,6 +372,8 @@ class Functions extends Action
|
||||||
]);
|
]);
|
||||||
|
|
||||||
/** Execute function */
|
/** Execute function */
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$version = $function->getAttribute('version', 'v2');
|
$version = $function->getAttribute('version', 'v2');
|
||||||
$command = $runtime['startCommand'];
|
$command = $runtime['startCommand'];
|
||||||
|
@ -410,6 +412,16 @@ class Functions extends Action
|
||||||
->setAttribute('logs', $executionResponse['logs'])
|
->setAttribute('logs', $executionResponse['logs'])
|
||||||
->setAttribute('errors', $executionResponse['errors'])
|
->setAttribute('errors', $executionResponse['errors'])
|
||||||
->setAttribute('duration', $executionResponse['duration']);
|
->setAttribute('duration', $executionResponse['duration']);
|
||||||
|
|
||||||
|
/** Trigger usage queue */
|
||||||
|
$queueForUsage
|
||||||
|
->setProject($project)
|
||||||
|
->addMetric(METRIC_EXECUTIONS, 1)
|
||||||
|
->addMetric(str_replace('{functionInternalId}', $function->getInternalId(), METRIC_FUNCTION_ID_EXECUTIONS), 1)
|
||||||
|
->addMetric(METRIC_EXECUTIONS_COMPUTE, (int)($execution->getAttribute('duration') * 1000))// per project
|
||||||
|
->addMetric(str_replace('{functionInternalId}', $function->getInternalId(), METRIC_FUNCTION_ID_EXECUTIONS_COMPUTE), (int)($execution->getAttribute('duration') * 1000))
|
||||||
|
->trigger()
|
||||||
|
;
|
||||||
} catch (\Throwable $th) {
|
} catch (\Throwable $th) {
|
||||||
$durationEnd = \microtime(true);
|
$durationEnd = \microtime(true);
|
||||||
$execution
|
$execution
|
||||||
|
@ -420,6 +432,13 @@ class Functions extends Action
|
||||||
|
|
||||||
$error = $th->getMessage();
|
$error = $th->getMessage();
|
||||||
$errorCode = $th->getCode();
|
$errorCode = $th->getCode();
|
||||||
|
/** Trigger usage queue */
|
||||||
|
$queueForUsage
|
||||||
|
->setProject($project)
|
||||||
|
->addMetric(METRIC_EXECUTIONS, 1)
|
||||||
|
->addMetric(str_replace('{functionInternalId}', $function->getInternalId(), METRIC_FUNCTION_ID_EXECUTIONS), 1)
|
||||||
|
->trigger()
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($function->getAttribute('logging')) {
|
if ($function->getAttribute('logging')) {
|
||||||
|
@ -471,15 +490,5 @@ class Functions extends Action
|
||||||
if (!empty($error)) {
|
if (!empty($error)) {
|
||||||
throw new Exception($error, $errorCode);
|
throw new Exception($error, $errorCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Trigger usage queue */
|
|
||||||
$queueForUsage
|
|
||||||
->setProject($project)
|
|
||||||
->addMetric(METRIC_EXECUTIONS, 1)
|
|
||||||
->addMetric(str_replace('{functionInternalId}', $function->getInternalId(), METRIC_FUNCTION_ID_EXECUTIONS), 1)
|
|
||||||
->addMetric(METRIC_EXECUTIONS_COMPUTE, (int)($execution->getAttribute('duration') * 1000))// per project
|
|
||||||
->addMetric(str_replace('{functionInternalId}', $function->getInternalId(), METRIC_FUNCTION_ID_EXECUTIONS_COMPUTE), (int)($execution->getAttribute('duration') * 1000))
|
|
||||||
->trigger()
|
|
||||||
;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue