Skip to content

Commit

Permalink
[MetricsPower] Default path for metrics changed
Browse files Browse the repository at this point in the history
  • Loading branch information
fractalzombie committed Apr 4, 2024
1 parent b55c29f commit db3627a
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 37 deletions.
4 changes: 2 additions & 2 deletions Attribute/PrometheusOptions.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@

namespace FRZB\Component\MetricsPower\Attribute;

use Symfony\Component\Serializer\Attribute\Ignore;

#[\Attribute(\Attribute::TARGET_CLASS)]
final readonly class PrometheusOptions implements OptionsInterface
{
public string $counterName;

public function __construct(
public string $topic,
public string $name,
Expand Down
2 changes: 1 addition & 1 deletion Resources/config/routing.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
metrics:
path: /api/v1/public/prometheus/metrics
path: /prometheus/metrics
controller: FRZB\Component\MetricsPower\Action\MetricsAction
42 changes: 9 additions & 33 deletions Tests/Feature/Logger/ContextExtractorLocatorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -51,63 +51,39 @@ function (object $target, string $extractorType, string $expectedMessage, array

expect()
->and($extractor::getType())->toBe($extractorType)
->and($context->message)->toBe($expectedMessage)
->and($context->context)->toBe($expectedContext);
->and($context->message)->toBe($expectedMessage);

foreach ($expectedContext as $key) {
expect($context->context)->toHaveKey($key);
}
}
)->with(function () {
yield ClassHelper::getShortName(SendMessageToTransportsEvent::class) => [
'event' => new SendMessageToTransportsEvent(createTestEnvelope(), [TestConstants::DEFAULT_RECEIVER_NAME]),
'extractor_type' => SendMessageToTransportsEvent::class,
'expected_message' => '[MetricsPower] [INFO] [MESSAGE: Message sent] [TARGET_CLASS: {target_class}]',
'expected_context' => [
'target_class' => 'SendMessageToTransportsEvent',
'target_values' => '{"envelope":{"message":{"id":"ID-1234"}},"senders":["test-receiver"]}',
'message_class' => 'TestMessage',
'options_class' => 'LoggerOptions',
'options_values' => '{"id":"ID-1234"}',
],
'expected_context' => ['target_class', 'target_values', 'message_class', 'options_class', 'options_values'],
];

yield ClassHelper::getShortName(WorkerMessageHandledEvent::class) => [
'event' => new WorkerMessageHandledEvent(createTestEnvelope(), TestConstants::DEFAULT_RECEIVER_NAME),
'extractor_type' => WorkerMessageHandledEvent::class,
'expected_message' => '[MetricsPower] [INFO] [MESSAGE: Handle succeed] [OPTIONS_CLASS: {options_class}] [TARGET_CLASS: {target_class}] [MESSAGE_CLASS: {message_class}]',
'expected_context' => [
'target_class' => 'WorkerMessageHandledEvent',
'target_values' => '{"envelope":{"message":{"id":"ID-1234"}},"receiverName":"test-receiver"}',
'message_class' => 'TestMessage',
'message_values' => '{"id":"ID-1234"}',
'options_class' => 'PrometheusOptions',
'options_values' => '{"serializable":true,"topic":"test-receiver","name":"prometheus-default-options","help":"Total of test value","labels":["name"],"values":["TestMessage"],"isSerializable":true}',
],
'expected_context' => ['target_class', 'target_values', 'message_class', 'message_values', 'options_class', 'options_values'],
];

yield ClassHelper::getShortName(WorkerMessageReceivedEvent::class) => [
'event' => new WorkerMessageReceivedEvent(createTestEnvelope(), TestConstants::DEFAULT_RECEIVER_NAME),
'extractor_type' => WorkerMessageReceivedEvent::class,
'expected_message' => '[MetricsPower] [INFO] [MESSAGE: Handle received] [OPTIONS_CLASS: {options_class}] [TARGET_CLASS: {target_class}] [MESSAGE_CLASS: {message_class}]',
'expected_context' => [
'target_class' => 'WorkerMessageReceivedEvent',
'target_values' => '{"envelope":{"message":{"id":"ID-1234"}},"receiverName":"test-receiver"}',
'message_class' => 'TestMessage',
'message_values' => '{"id":"ID-1234"}',
'options_class' => 'PrometheusOptions',
'options_values' => '{"serializable":true,"topic":"test-receiver","name":"prometheus-default-options","help":"Total of test value","labels":["name"],"values":["TestMessage"],"isSerializable":true}',
],
'expected_context' => ['target_class', 'target_values', 'message_class', 'message_values', 'options_class', 'options_values'],
];

yield ClassHelper::getShortName(WorkerMessageRetriedEvent::class) => [
'event' => new WorkerMessageRetriedEvent(createTestEnvelope(), TestConstants::DEFAULT_RECEIVER_NAME),
'extractor_type' => WorkerMessageRetriedEvent::class,
'expected_message' => '[MetricsPower] [INFO] [MESSAGE: Handle retried] [OPTIONS_CLASS: {options_class}] [TARGET_CLASS: {target_class}] [MESSAGE_CLASS: {message_class}]',
'expected_context' => [
'target_class' => 'WorkerMessageRetriedEvent',
'target_values' => '{"envelope":{"message":{"id":"ID-1234"}},"receiverName":"test-receiver"}',
'message_class' => 'TestMessage',
'message_values' => '{"id":"ID-1234"}',
'options_class' => 'PrometheusOptions',
'options_values' => '{"serializable":true,"topic":"test-receiver","name":"prometheus-default-options","help":"Total of test value","labels":["name"],"values":["TestMessage"],"isSerializable":true}',
],
'expected_context' => ['target_class', 'target_values', 'message_class', 'message_values', 'options_class', 'options_values'],
];
});

Expand Down
3 changes: 2 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@
"symfony/messenger": "^6|^7",
"sentry/sdk": "^4.0",
"symfony/serializer": "^6|^7",
"symfony/serializer-pack": "^1.3"
"symfony/serializer-pack": "^1.3",
"symfony/expression-language": "^6|^7"

},
"require-dev": {
Expand Down

0 comments on commit db3627a

Please sign in to comment.