Skip to content

fix(config): idp-core observability - #168

Open
foukou19 wants to merge 19 commits into
mainfrom
feat/idp-core-observability
Open

foukou19 wants to merge 19 commits into
mainfrom
feat/idp-core-observability

Conversation

@foukou19

Copy link
Copy Markdown
Collaborator

PR Description

What this PR Provides

  • Describe in short sentences the goal of the PR. Use lists.
  • If the PR is linked to an ADR, please provide the link.

Fixes

Review

The reviewer must double-check these points:

  • The reviewer has tested the feature
  • The reviewer has reviewed the implementation of the feature
  • The documentation has been updated
  • The feature implementation respects the Technical Doc / ADR previously produced
  • The Pull Request title has a ! after the type/scope to identify the breaking
    change in the release note and ensure we will release a major version.

How to test

Please refer (copy/paste) the test section from the User Story. This should include

  • The initial state: what should be the status of the system before testing
    (for example, ensure the data xxx exists in idp-back to be able to test the feature)
  • What and how to test: steps to perform to test the feature
    (for example, go to page xxx, fill the xxx field and click the 'send' button)
  • Expected results: what should be observed for success or failure
    (for example, there is a link in the database between component X and component Y.
    You can retrieve the information with a GET request to the API)

Breaking changes (if any)

  • Data loss / modification
  • API JSON schema modification (existing resource / behavior)
  • Behavior modification of a component
  • Others
  • N/A

Context of the Breaking Change

For example: we redefined the component types list in the DPAC referential

Result of the Breaking Change

For example: your component of type xxx will migrate to the type yyy

foukou19 and others added 10 commits October 6, 2026 11:32
Signed-off-by: foukou19 <ferial.oukoukas@decathlon.com>
Signed-off-by: foukou19 <ferial.oukoukas@decathlon.com>
Signed-off-by: foukou19 <ferial.oukoukas@decathlon.com>
Signed-off-by: foukou19 <ferial.oukoukas@decathlon.com>
Co-authored-by: Eve Bernhard <115796475+evebrnd@users.noreply.github.com>
Signed-off-by: ferial OUKOUKAS <75682459+foukou19@users.noreply.github.com>
Signed-off-by: foukou19 <ferial.oukoukas@decathlon.com>
Signed-off-by: foukou19 <ferial.oukoukas@decathlon.com>
Signed-off-by: foukou19 <ferial.oukoukas@decathlon.com>
@foukou19 foukou19 changed the title Feat/idp core observability feat(config): idp-core observability Oct 13, 2026
Signed-off-by: foukou19 <ferial.oukoukas@decathlon.com>
@foukou19
foukou19 force-pushed the feat/idp-core-observability branch from 3229034 to 4bad155 Compare October 13, 2026 13:48
@github-code-quality

github-code-quality Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Code coverage overview

Languages: Java

Java / code-coverage/jacoco

main 1e7741b feat/idp-core-observ... 86413c1 +/-
91% 91% 0%
View coverage of the 9 most impacted files.
File main 1e7741b feat/idp-core-observ... 86413c1 +/-
com/decathlon/i...nProcessor.java 98% 89% -9%
com/decathlon/i...yProcessor.java 100% 98% -2%
com/decathlon/i...figuration.java 0% 0% 0%
com/decathlon/i...yConstants.java 0% 0% 0%
com/decathlon/i...ationUtils.java 87% 87% 0%
com/decathlon/i...gProcessor.java 81% 85% +4%
com/decathlon/i...itySupport.java 0% 88% +88%
com/decathlon/i...ebugConfig.java 0% 92% +92%
com/decathlon/i...figuration.java 0% 100% +100%

ℹ️ Calculations represent line coverage. Results may change as calculations are updated.


Updated October 19, 2026 15:48 UTC

foukou19 and others added 4 commits October 14, 2026 16:55
Signed-off-by: foukou19 <ferial.oukoukas@decathlon.com>
Signed-off-by: ferial OUKOUKAS <75682459+foukou19@users.noreply.github.com>
Signed-off-by: foukou19 <ferial.oukoukas@decathlon.com>

Signed-off-by: foukou19 <ferial.oukoukas@decathlon.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Unresolved metric accuracy and label-cardinality issues undermine reliable monitoring.

5 open findings
What changed in this PR

Adds OpenTelemetry metrics to idp-core’s webhook ingestion pipeline.

Changes:

  • Instruments security validation, payload decoding, mapping, and entity operations.
  • Adds shared metric constants, helpers, and meter configuration.
  • Updates test setup and telemetry dependencies.
File Description
src/​test/​java/​com/​decathlon/​idp_core/​infrastructure/​adapters/​ingestion/​processor/​IngestionProcessorTest.java Supplies a test meter.
src/​test/​java/​com/​decathlon/​idp_core/​infrastructure/​adapters/​ingestion/​processor/​DecodingProcessorTest.java Updates constructors with a meter.
src/​main/​java/​com/​decathlon/​idp_core/​infrastructure/​adapters/​ingestion/​processor/​SecurityProcessor.java Records security outcomes.
src/​main/​java/​com/​decathlon/​idp_core/​infrastructure/​adapters/​ingestion/​processor/​IngestionProcessor.java Records mapping and entity metrics.
src/​main/​java/​com/​decathlon/​idp_core/​infrastructure/​adapters/​ingestion/​processor/​decoder/​DecodingProcessor.java Records decoding outcomes and payload sizes.
src/​main/​java/​com/​decathlon/​idp_core/​infrastructure/​adapters/​ingestion/​metrics/​IngestionObservabilitySupport.java Adds shared instrumentation helpers.
src/​main/​java/​com/​decathlon/​idp_core/​infrastructure/​adapters/​ingestion/​configuration/​IngestionObservabilityConstants.java Defines metric names and attributes.
src/​main/​java/​com/​decathlon/​idp_core/​infrastructure/​adapters/​ingestion/​configuration/​IngestionMetricsConfiguration.java Configures scoped meters.
pom.xml Adds telemetry API and testing dependencies.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +108 to +111
incrementCounter(IngestionObservabilityConstants.FUNCTIONAL_VALIDATION_FAILED_TOTAL,
ATTRIBUTE_CONNECTOR, connectorIdentifier, "mapping_id", mappingId,
ATTRIBUTE_REASON, exception.getClass().getSimpleName());
recordEntityFailureMetrics(connectorIdentifier, exception);
Comment on lines +207 to +209
incrementCounter(IngestionObservabilityConstants.ENTITY_VALIDATION_ERRORS_TOTAL,
ATTRIBUTE_TEMPLATE, templateIdentifier, ATTRIBUTE_CONNECTOR, connectorIdentifier,
ATTRIBUTE_REASON, exception.getClass().getSimpleName());
Comment on lines +64 to +66
String connector = headers == null
? "unknown"
: String.valueOf(headers.getOrDefault("connector", "unknown"));
Comment on lines +97 to +99
if (!(exception instanceof WebhookDecodingException)) {
incrementDecodeErrorMetric(connector, exception.getClass().getSimpleName());
}
return new String(decodedPayload, StandardCharsets.UTF_8);
String result = new String(decodedPayload, StandardCharsets.UTF_8);
recordPayloadSizeMetric(connector, decodedPayload.length);
incrementDecodedMetric(connector, String.join(",", encodingChain));

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on lines +13 to +15
public Meter ingestionMeter(OpenTelemetry openTelemetry) {
return openTelemetry.getMeterProvider().meterBuilder("com.decathlon.idp_core.ingestion")
.build();
@foukou19
foukou19 force-pushed the feat/idp-core-observability branch 4 times, most recently from 072443b to 33e8861 Compare October 16, 2026 10:04
Signed-off-by: foukou19 <ferial.oukoukas@decathlon.com>
@foukou19
foukou19 force-pushed the feat/idp-core-observability branch from 33e8861 to d55eb94 Compare October 16, 2026 13:51
@foukou19
foukou19 force-pushed the feat/idp-core-observability branch 4 times, most recently from 5178c90 to 7b0813f Compare October 16, 2026 18:42
Signed-off-by: foukou19 <ferial.oukoukas@decathlon.com>
@foukou19
foukou19 force-pushed the feat/idp-core-observability branch from 7b0813f to 7d67e93 Compare October 16, 2026 19:40
Signed-off-by: foukou19 <ferial.oukoukas@decathlon.com>
@foukou19
foukou19 force-pushed the feat/idp-core-observability branch from 3da9835 to 1bed986 Compare October 19, 2026 15:02
Signed-off-by: foukou19 <ferial.oukoukas@decathlon.com>
@foukou19
foukou19 force-pushed the feat/idp-core-observability branch from 1bed986 to 86413c1 Compare October 19, 2026 15:34
@foukou19 foukou19 changed the title feat(config): idp-core observability fix(config): idp-core observability Oct 19, 2026
@sonarqubecloud

Copy link
Copy Markdown

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants