Skip to content

[Shopify] Add GraphQL type to request telemetry - #11611

Merged
Onat Buyukakkus (onbuyuka) merged 1 commit into
mainfrom
bugs/650502-shopify-graphql-telemetry
Sep 22, 2026
Merged

Onat Buyukakkus (onbuyuka) merged 1 commit into
mainfrom
bugs/650502-shopify-graphql-telemetry

Conversation

@onbuyuka

@onbuyuka Onat Buyukakkus (onbuyuka) commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

What & why

Adds a GraphQL Type custom dimension to Shopify request telemetry event 0000K8W. Typed GraphQL requests emit the stable, nonlocalized enum value name; raw or untyped requests emit an empty value. The value is passed through the HTTP and GraphQL retry paths so telemetry can be grouped by query type without exposing query contents or variables.

Linked work

Fixes AB#650502

How I validated this

  • I read the full diff and it contains only changes I intended.
  • I built the affected app(s) locally with no new analyzer warnings.
  • I ran the change in Business Central and confirmed it behaves as expected.
  • I added or updated tests for the new behavior, or explained below why none are needed.

What I tested and the outcome

  • Built the Shopify Connector app successfully.
  • No tests added because a unit test would only exercise a test-specific dictionary helper rather than the emitted Session.LogMessage event or retry flow.

Risk & compatibility

Low. Existing 0000K8W dimensions and request behavior are unchanged; the new custom dimension is additive. Untyped requests report an empty value.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8406292a-57b3-4411-a15c-8094f405a361
@onbuyuka
Onat Buyukakkus (onbuyuka) requested a review from a team as a code owner September 18, 2026 13:17
@github-actions github-actions Bot added the AL: Apps (W1) Add-on apps for W1 label Sep 18, 2026
@github-actions github-actions Bot added the Team: Integrations GitHub request for Integrations area label Sep 18, 2026
@github-actions github-actions Bot added this to the Version 30.0 milestone Sep 18, 2026
@alexei-dobriansky

Copy link
Copy Markdown
Contributor

Good Sense Reviewer - Round 1

Recommendation: Request Changes

What this PR does

This adds a GraphQL Type custom dimension to Shopify request telemetry. The enum-based ExecuteGraphQL path now passes the enum value name through request execution, including retry logging, while raw text requests keep an empty value.

The main path is correct for callers that use the enum overload. It does not cover typed queries that are first read with GetQueryWithCost() and then sent through the text overload, so those requests still log an empty value and cannot be grouped by type.

Problem-solution fit

Fit: Partial

The change matches the requested telemetry shape for normal enum-based GraphQL calls, and it preserves empty values for untyped calls. It only solves part of the reported scenario because some typed query executions still go through the raw-text overload after the query type is already known.

Suggestions

S1 (🔴 High): Carry the type through all typed requests
Some code builds a typed query with GetQueryWithCost() and then calls the text overload of ExecuteGraphQL(), so this wrapper still logs an empty GraphQL Type. Pass the enum name through those call sites, such as catalog price updates and inventory updates, so every typed query gets the new dimension.

Risk assessment and necessity

Risk: The behavior change is limited to telemetry dimensions for Shopify HTTP requests and is additive, so request execution and existing dimensions should stay compatible. The regression risk is mainly diagnostic accuracy: if this merges as-is, some query families remain grouped under an empty value.

Necessity: The change is needed because the shared GraphQL endpoint makes URL-based telemetry grouping too coarse. The scope should include every code path that already knows the GraphQL enum before executing the request.


[AI-PR-REVIEW] version=1 promptVersion=4 system=github pr=11611 round=1 by=alexei-dobriansky at=2026-09-18T22:19:26Z lastSha=8b4d5a0cbf04d8f7fa87f57f0187ae60ac12bf6d reviewKey=9417127ceb6040977dacc9cbfd9bdcac1acad288570e8abc21f4e0576473afd7 suggestions=S1@0c0d2fe9

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Stale Status Check Deleted

The Pull Request Build workflow run for this PR was older than 72 hours and has been deleted.

📋 Why was it deleted?

Status checks that are too old may no longer reflect the current state of the target branch. To ensure this PR is validated against the latest code and passes up-to-date checks, a fresh build is required.


🔄 How to trigger a new status check:

  1. 📤 Push a new commit to the PR branch, or
  2. 🔁 Close and reopen the PR

This will automatically trigger a new Pull Request Build workflow run.

@onbuyuka
Onat Buyukakkus (onbuyuka) added this pull request to the merge queue Sep 22, 2026
Merged via the queue into main with commit 5d77ee6 Sep 22, 2026
184 checks passed
@onbuyuka
Onat Buyukakkus (onbuyuka) deleted the bugs/650502-shopify-graphql-telemetry branch September 22, 2026 15:12

This branch was successfully deployed

1 active deployment
triage 8b4d5a0c Deployed Sep 22, 2026 by onbuyuka via Classify team ownership #5436
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AL: Apps (W1) Add-on apps for W1 Team: Integrations GitHub request for Integrations area

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants