From 9e1b263bc6252526eede8d6bdc1f57cfa676cdd6 Mon Sep 17 00:00:00 2001 From: fadidurah Date: Tue, 18 Mar 2025 12:52:45 -0400 Subject: [PATCH 1/6] add on telemetry field --- .../common/internal/result/MsalBrokerResultAdapter.java | 6 ++++++ .../identity/common/java/opentelemetry/AttributeName.java | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/com/microsoft/identity/common/internal/result/MsalBrokerResultAdapter.java b/common/src/main/java/com/microsoft/identity/common/internal/result/MsalBrokerResultAdapter.java index cc9048aee1..7cb08c5feb 100644 --- a/common/src/main/java/com/microsoft/identity/common/internal/result/MsalBrokerResultAdapter.java +++ b/common/src/main/java/com/microsoft/identity/common/internal/result/MsalBrokerResultAdapter.java @@ -338,6 +338,12 @@ public Bundle bundleFromBaseException(@NonNull final BaseException exception, } if (exception instanceof IntuneAppProtectionPolicyRequiredException) { + // Record presence of exception in telemetry + SpanExtension.current().setAttribute( + AttributeName.intune_protection_policy_exception_present.name(), + Boolean.toString(true) + ); + builder.userName(((IntuneAppProtectionPolicyRequiredException) exception).getAccountUpn()) .localAccountId(((IntuneAppProtectionPolicyRequiredException) exception).getAccountUserId()) .authority(((IntuneAppProtectionPolicyRequiredException) exception).getAuthorityUrl()) diff --git a/common4j/src/main/com/microsoft/identity/common/java/opentelemetry/AttributeName.java b/common4j/src/main/com/microsoft/identity/common/java/opentelemetry/AttributeName.java index ef872ec09f..96112489db 100644 --- a/common4j/src/main/com/microsoft/identity/common/java/opentelemetry/AttributeName.java +++ b/common4j/src/main/com/microsoft/identity/common/java/opentelemetry/AttributeName.java @@ -333,5 +333,10 @@ public enum AttributeName { /** * Records the stacktrace for an out-of-memory exception. */ - out_of_memory_exception_stacktrace + out_of_memory_exception_stacktrace, + + /** + * Records if an IntuneAppProtectionPolicyRequiredException is received as part of this request. + */ + intune_protection_policy_exception_present } From 21704cd26053e1ee220fd668368b6a05a88642d5 Mon Sep 17 00:00:00 2001 From: fadidurah Date: Tue, 18 Mar 2025 14:45:39 -0400 Subject: [PATCH 2/6] unify fields --- .../common/internal/result/MsalBrokerResultAdapter.java | 2 +- .../identity/common/java/opentelemetry/AttributeName.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/common/src/main/java/com/microsoft/identity/common/internal/result/MsalBrokerResultAdapter.java b/common/src/main/java/com/microsoft/identity/common/internal/result/MsalBrokerResultAdapter.java index 7cb08c5feb..083997a938 100644 --- a/common/src/main/java/com/microsoft/identity/common/internal/result/MsalBrokerResultAdapter.java +++ b/common/src/main/java/com/microsoft/identity/common/internal/result/MsalBrokerResultAdapter.java @@ -340,7 +340,7 @@ public Bundle bundleFromBaseException(@NonNull final BaseException exception, if (exception instanceof IntuneAppProtectionPolicyRequiredException) { // Record presence of exception in telemetry SpanExtension.current().setAttribute( - AttributeName.intune_protection_policy_exception_present.name(), + AttributeName.is_mam_flow.name(), Boolean.toString(true) ); diff --git a/common4j/src/main/com/microsoft/identity/common/java/opentelemetry/AttributeName.java b/common4j/src/main/com/microsoft/identity/common/java/opentelemetry/AttributeName.java index 96112489db..06fe31538b 100644 --- a/common4j/src/main/com/microsoft/identity/common/java/opentelemetry/AttributeName.java +++ b/common4j/src/main/com/microsoft/identity/common/java/opentelemetry/AttributeName.java @@ -336,7 +336,7 @@ public enum AttributeName { out_of_memory_exception_stacktrace, /** - * Records if an IntuneAppProtectionPolicyRequiredException is received as part of this request. + * Records if if current flow is a mam flow. */ - intune_protection_policy_exception_present + is_mam_flow } From 546f359575884ae33053d70ea36f28165d884a29 Mon Sep 17 00:00:00 2001 From: fadidurah Date: Tue, 18 Mar 2025 14:47:12 -0400 Subject: [PATCH 3/6] typo --- .../identity/common/java/opentelemetry/AttributeName.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common4j/src/main/com/microsoft/identity/common/java/opentelemetry/AttributeName.java b/common4j/src/main/com/microsoft/identity/common/java/opentelemetry/AttributeName.java index 06fe31538b..28f6d4f3ea 100644 --- a/common4j/src/main/com/microsoft/identity/common/java/opentelemetry/AttributeName.java +++ b/common4j/src/main/com/microsoft/identity/common/java/opentelemetry/AttributeName.java @@ -336,7 +336,7 @@ public enum AttributeName { out_of_memory_exception_stacktrace, /** - * Records if if current flow is a mam flow. + * Records if current flow is a mam flow. */ is_mam_flow } From e80d25e0a7e45606e66b3e12628ee289ed26e237 Mon Sep 17 00:00:00 2001 From: fadidurah Date: Tue, 18 Mar 2025 15:20:52 -0400 Subject: [PATCH 4/6] no string conversion --- .../common/internal/result/MsalBrokerResultAdapter.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/common/src/main/java/com/microsoft/identity/common/internal/result/MsalBrokerResultAdapter.java b/common/src/main/java/com/microsoft/identity/common/internal/result/MsalBrokerResultAdapter.java index 083997a938..d3f60b6c7c 100644 --- a/common/src/main/java/com/microsoft/identity/common/internal/result/MsalBrokerResultAdapter.java +++ b/common/src/main/java/com/microsoft/identity/common/internal/result/MsalBrokerResultAdapter.java @@ -338,11 +338,8 @@ public Bundle bundleFromBaseException(@NonNull final BaseException exception, } if (exception instanceof IntuneAppProtectionPolicyRequiredException) { - // Record presence of exception in telemetry - SpanExtension.current().setAttribute( - AttributeName.is_mam_flow.name(), - Boolean.toString(true) - ); + // Record MAM flow in telemetry + SpanExtension.current().setAttribute(AttributeName.is_mam_flow.name(),true); builder.userName(((IntuneAppProtectionPolicyRequiredException) exception).getAccountUpn()) .localAccountId(((IntuneAppProtectionPolicyRequiredException) exception).getAccountUserId()) From b9b11b5d290fa3561ee184684bb4c71a99ed7013 Mon Sep 17 00:00:00 2001 From: fadidurah Date: Tue, 18 Mar 2025 17:07:32 -0400 Subject: [PATCH 5/6] changelog --- changelog.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/changelog.txt b/changelog.txt index 1c839bf30a..7e6dde96d7 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,6 @@ vNext ---------- +- [PATCH] Track MAM flow in telemetry (#2608) - [PATCH] Fix multiple prompts issue in cross cloud request (#2599) - [PATCH] Corrected error handling in cross cloud scenario (#2602) From 4772b5f12d0964b55e85f45e2aa6714d5a070c57 Mon Sep 17 00:00:00 2001 From: fadidurah <88730756+fadidurah@users.noreply.github.com> Date: Tue, 18 Mar 2025 17:11:29 -0400 Subject: [PATCH 6/6] Update common/src/main/java/com/microsoft/identity/common/internal/result/MsalBrokerResultAdapter.java Co-authored-by: Shahzaib <37125644+shahzaibj@users.noreply.github.com> --- .../common/internal/result/MsalBrokerResultAdapter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/src/main/java/com/microsoft/identity/common/internal/result/MsalBrokerResultAdapter.java b/common/src/main/java/com/microsoft/identity/common/internal/result/MsalBrokerResultAdapter.java index d3f60b6c7c..61c705aae8 100644 --- a/common/src/main/java/com/microsoft/identity/common/internal/result/MsalBrokerResultAdapter.java +++ b/common/src/main/java/com/microsoft/identity/common/internal/result/MsalBrokerResultAdapter.java @@ -339,7 +339,7 @@ public Bundle bundleFromBaseException(@NonNull final BaseException exception, if (exception instanceof IntuneAppProtectionPolicyRequiredException) { // Record MAM flow in telemetry - SpanExtension.current().setAttribute(AttributeName.is_mam_flow.name(),true); + SpanExtension.current().setAttribute(AttributeName.is_mam_flow.name(), true); builder.userName(((IntuneAppProtectionPolicyRequiredException) exception).getAccountUpn()) .localAccountId(((IntuneAppProtectionPolicyRequiredException) exception).getAccountUserId())