{
    "api_version": "1",
    "kind": "dse_post",
    "self": "https://update.dsesecurity.com/api/v1/posts/dse-20260909-421-review-related-log-sampling-when-migrating-to-application-insights-net-sdk-3-x/",
    "item": {
        "id": "https://update.dsesecurity.com/updates/dse-20260909-421-review-related-log-sampling-when-migrating-to-application-insights-net-sdk-3-x/",
        "slug": "dse-20260909-421-review-related-log-sampling-when-migrating-to-application-insights-net-sdk-3-x",
        "url": "https://update.dsesecurity.com/updates/dse-20260909-421-review-related-log-sampling-when-migrating-to-application-insights-net-sdk-3-x/",
        "alternate_urls": {
            "markdown": "https://update.dsesecurity.com/updates/dse-20260909-421-review-related-log-sampling-when-migrating-to-application-insights-net-sdk-3-x.md",
            "json": "https://update.dsesecurity.com/api/v1/posts/dse-20260909-421-review-related-log-sampling-when-migrating-to-application-insights-net-sdk-3-x/"
        },
        "title": "Review related-log sampling when migrating to Application Insights .NET SDK 3.x",
        "summary": "Which trace-sampling relationships should a .NET SDK 3.x migration test preserve?",
        "format": {
            "slug": "guide",
            "name": "Guide"
        },
        "priority": {
            "slug": "info",
            "name": "Information"
        },
        "featured": false,
        "image": {
            "theme": "managed-it",
            "label": "Managed IT operations",
            "alt": "A controlled technology lifecycle progressing from assessment to approved production.",
            "card_url": "https://update.dsesecurity.com/assets/editorial/managed-it-card.webp?v=1.8.20",
            "hero_url": "https://update.dsesecurity.com/assets/editorial/managed-it-hero.webp?v=1.8.20",
            "social_url": "https://update.dsesecurity.com/assets/editorial/managed-it-social-v2.jpg?v=1.8.20",
            "width": 2400,
            "height": 1350
        },
        "topics": [
            {
                "slug": "it",
                "name": "IT",
                "url": "https://update.dsesecurity.com/topic/it/"
            }
        ],
        "author": {
            "name": "DSE Security Editorial Team",
            "url": "https://update.dsesecurity.com/#editorial-team",
            "type": "Organization"
        },
        "publisher": {
            "name": "Detection Systems & Engineering",
            "url": "https://dsesecurity.com/"
        },
        "published_at": "2026-09-10T00:24:55+00:00",
        "modified_at": "2026-09-10T02:04:57+00:00",
        "reviewed_on": "2026-09-09",
        "reading_minutes": 2,
        "word_count": 238,
        "potentially_affected": "Applications migrating Application Insights .NET SDK 2.x instrumentation to the OpenTelemetry-based .NET SDK 3.x.",
        "dse_recommendation": "Validate related logs alongside their parent trace rather than checking only aggregate telemetry arrival after the upgrade.",
        "primary_source": {
            "name": "Migrate Application Insights Classic API Software Development Kits (SDKs) to Azure Monitor OpenTelemetry - Azure Monitor | Microsoft Learn",
            "url": "https://learn.microsoft.com/en-us/azure/azure-monitor/app/migrate-to-opentelemetry",
            "published_on": null,
            "authority": "Microsoft Learn"
        },
        "publishing_principles": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
        "usage_info": "https://update.dsesecurity.com/usage/",
        "copyright_notice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
        "content_html": "<h2>Source facts</h2>\n<p>Application Insights .NET SDK 3.x applies the same sampling settings to requests and dependencies; it does not support separate settings for those two signals. Related logs inherit their parent trace&#8217;s sampling decision by default, with EnableTraceBasedLogsSampler available to disable that behavior. Microsoft prohibits mixing 2.x and 3.x packages, or using SDK 3.x alongside the Azure Monitor OpenTelemetry Distro in one application. <a href=\"https://learn.microsoft.com/en-us/azure/azure-monitor/app/migrate-to-opentelemetry\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft Learn</a>.</p>\n<h2>Applicability</h2>\n<p>This concerns the .NET SDK 3.x migration path, not every OpenTelemetry collector or language SDK. Keep the intended sampling policy explicit before comparing old and new telemetry populations.</p>\n<h2>DSE recommendation</h2>\n<p>Validate related logs alongside their parent trace rather than checking only aggregate telemetry arrival after the upgrade. Identify a representative request, its dependency and its related log records in the migration test. Have the application owner decide whether the default trace-related log policy matches the intended diagnostic use. Do not change the switch merely to increase visible records without considering the desired correlation and volume.</p>\n<h2>Verification</h2>\n<p>Review the resolved package set and effective sampling configuration in a controlled environment. Exercise repeatable sample requests and compare the observed parent-child relationships with the approved policy. Include any intentional independent-log behavior in the test expectation. Preserve the configuration and representative outcomes before rollout; a nonempty destination table alone should not be reported as proof that the migration retained its intended trace and log relationships.</p>\n<h2>Official references</h2>\n<p><a href=\"https://learn.microsoft.com/en-us/azure/azure-monitor/app/migrate-to-opentelemetry\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft Learn: Application Insights OpenTelemetry migration</a>. Source reviewed September 9, 2026.</p>",
        "content_text": "Source facts\nApplication Insights .NET SDK 3.x applies the same sampling settings to requests and dependencies; it does not support separate settings for those two signals. Related logs inherit their parent trace’s sampling decision by default, with EnableTraceBasedLogsSampler available to disable that behavior. Microsoft prohibits mixing 2.x and 3.x packages, or using SDK 3.x alongside the Azure Monitor OpenTelemetry Distro in one application. Microsoft Learn.\nApplicability\nThis concerns the .NET SDK 3.x migration path, not every OpenTelemetry collector or language SDK. Keep the intended sampling policy explicit before comparing old and new telemetry populations.\nDSE recommendation\nValidate related logs alongside their parent trace rather than checking only aggregate telemetry arrival after the upgrade. Identify a representative request, its dependency and its related log records in the migration test. Have the application owner decide whether the default trace-related log policy matches the intended diagnostic use. Do not change the switch merely to increase visible records without considering the desired correlation and volume.\nVerification\nReview the resolved package set and effective sampling configuration in a controlled environment. Exercise repeatable sample requests and compare the observed parent-child relationships with the approved policy. Include any intentional independent-log behavior in the test expectation. Preserve the configuration and representative outcomes before rollout; a nonempty destination table alone should not be reported as proof that the migration retained its intended trace and log relationships.\nOfficial references\nMicrosoft Learn: Application Insights OpenTelemetry migration. Source reviewed September 9, 2026.",
        "content_markdown": "## Source facts\n\nApplication Insights .NET SDK 3.x applies the same sampling settings to requests and dependencies; it does not support separate settings for those two signals. Related logs inherit their parent trace’s sampling decision by default, with EnableTraceBasedLogsSampler available to disable that behavior. Microsoft prohibits mixing 2.x and 3.x packages, or using SDK 3.x alongside the Azure Monitor OpenTelemetry Distro in one application. [Microsoft Learn](https://learn.microsoft.com/en-us/azure/azure-monitor/app/migrate-to-opentelemetry).\n\n## Applicability\n\nThis concerns the .NET SDK 3.x migration path, not every OpenTelemetry collector or language SDK. Keep the intended sampling policy explicit before comparing old and new telemetry populations.\n\n## DSE recommendation\n\nValidate related logs alongside their parent trace rather than checking only aggregate telemetry arrival after the upgrade. Identify a representative request, its dependency and its related log records in the migration test. Have the application owner decide whether the default trace-related log policy matches the intended diagnostic use. Do not change the switch merely to increase visible records without considering the desired correlation and volume.\n\n## Verification\n\nReview the resolved package set and effective sampling configuration in a controlled environment. Exercise repeatable sample requests and compare the observed parent-child relationships with the approved policy. Include any intentional independent-log behavior in the test expectation. Preserve the configuration and representative outcomes before rollout; a nonempty destination table alone should not be reported as proof that the migration retained its intended trace and log relationships.\n\n## Official references\n\n[Microsoft Learn: Application Insights OpenTelemetry migration](https://learn.microsoft.com/en-us/azure/azure-monitor/app/migrate-to-opentelemetry). Source reviewed September 9, 2026."
    },
    "json_ld": {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "https://dsesecurity.com/#organization",
                "name": "Detection Systems & Engineering",
                "alternateName": "DSE Security",
                "url": "https://dsesecurity.com/",
                "logo": {
                    "@type": "ImageObject",
                    "url": "https://update.dsesecurity.com/assets/dse-logo-20260812.png?v=1.8.20"
                }
            },
            {
                "@type": "Organization",
                "@id": "https://update.dsesecurity.com/#editorial-team",
                "name": "DSE Security Editorial Team",
                "url": "https://update.dsesecurity.com/",
                "parentOrganization": {
                    "@id": "https://dsesecurity.com/#organization"
                }
            },
            {
                "@type": "WebSite",
                "@id": "https://update.dsesecurity.com/#website",
                "name": "DSE Updates",
                "alternateName": "DSE Security Knowledge Hub",
                "url": "https://update.dsesecurity.com/",
                "inLanguage": "en-US",
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "potentialAction": {
                    "@type": "SearchAction",
                    "target": {
                        "@type": "EntryPoint",
                        "urlTemplate": "https://update.dsesecurity.com/?q={search_term_string}"
                    },
                    "query-input": "required name=search_term_string"
                }
            },
            {
                "@type": "WebPage",
                "@id": "https://update.dsesecurity.com/updates/dse-20260909-421-review-related-log-sampling-when-migrating-to-application-insights-net-sdk-3-x/",
                "url": "https://update.dsesecurity.com/updates/dse-20260909-421-review-related-log-sampling-when-migrating-to-application-insights-net-sdk-3-x/",
                "isPartOf": {
                    "@id": "https://update.dsesecurity.com/#website"
                },
                "lastReviewed": "2026-09-09"
            },
            {
                "@type": "BreadcrumbList",
                "@id": "https://update.dsesecurity.com/updates/dse-20260909-421-review-related-log-sampling-when-migrating-to-application-insights-net-sdk-3-x/#breadcrumbs",
                "itemListElement": [
                    {
                        "@type": "ListItem",
                        "position": 1,
                        "name": "DSE Updates",
                        "item": "https://update.dsesecurity.com/"
                    },
                    {
                        "@type": "ListItem",
                        "position": 2,
                        "name": "Review related-log sampling when migrating to Application Insights .NET SDK 3.x",
                        "item": "https://update.dsesecurity.com/updates/dse-20260909-421-review-related-log-sampling-when-migrating-to-application-insights-net-sdk-3-x/"
                    }
                ]
            },
            {
                "@type": [
                    "Article",
                    "TechArticle"
                ],
                "@id": "https://update.dsesecurity.com/updates/dse-20260909-421-review-related-log-sampling-when-migrating-to-application-insights-net-sdk-3-x/#article",
                "identifier": "https://update.dsesecurity.com/updates/dse-20260909-421-review-related-log-sampling-when-migrating-to-application-insights-net-sdk-3-x/",
                "url": "https://update.dsesecurity.com/updates/dse-20260909-421-review-related-log-sampling-when-migrating-to-application-insights-net-sdk-3-x/",
                "headline": "Review related-log sampling when migrating to Application Insights .NET SDK 3.x",
                "description": "Which trace-sampling relationships should a .NET SDK 3.x migration test preserve?",
                "abstract": "Which trace-sampling relationships should a .NET SDK 3.x migration test preserve?",
                "articleBody": "Source facts\nApplication Insights .NET SDK 3.x applies the same sampling settings to requests and dependencies; it does not support separate settings for those two signals. Related logs inherit their parent trace’s sampling decision by default, with EnableTraceBasedLogsSampler available to disable that behavior. Microsoft prohibits mixing 2.x and 3.x packages, or using SDK 3.x alongside the Azure Monitor OpenTelemetry Distro in one application. Microsoft Learn.\nApplicability\nThis concerns the .NET SDK 3.x migration path, not every OpenTelemetry collector or language SDK. Keep the intended sampling policy explicit before comparing old and new telemetry populations.\nDSE recommendation\nValidate related logs alongside their parent trace rather than checking only aggregate telemetry arrival after the upgrade. Identify a representative request, its dependency and its related log records in the migration test. Have the application owner decide whether the default trace-related log policy matches the intended diagnostic use. Do not change the switch merely to increase visible records without considering the desired correlation and volume.\nVerification\nReview the resolved package set and effective sampling configuration in a controlled environment. Exercise repeatable sample requests and compare the observed parent-child relationships with the approved policy. Include any intentional independent-log behavior in the test expectation. Preserve the configuration and representative outcomes before rollout; a nonempty destination table alone should not be reported as proof that the migration retained its intended trace and log relationships.\nOfficial references\nMicrosoft Learn: Application Insights OpenTelemetry migration. Source reviewed September 9, 2026.",
                "datePublished": "2026-09-10T00:24:55+00:00",
                "dateModified": "2026-09-10T02:04:57+00:00",
                "mainEntityOfPage": {
                    "@id": "https://update.dsesecurity.com/updates/dse-20260909-421-review-related-log-sampling-when-migrating-to-application-insights-net-sdk-3-x/"
                },
                "inLanguage": "en-US",
                "isAccessibleForFree": true,
                "author": {
                    "@type": "Organization",
                    "name": "DSE Security Editorial Team",
                    "url": "https://update.dsesecurity.com/#editorial-team"
                },
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "image": {
                    "@type": "ImageObject",
                    "@id": "https://update.dsesecurity.com/updates/dse-20260909-421-review-related-log-sampling-when-migrating-to-application-insights-net-sdk-3-x/#primaryimage",
                    "url": "https://update.dsesecurity.com/assets/editorial/managed-it-social-v2.jpg?v=1.8.20",
                    "contentUrl": "https://update.dsesecurity.com/assets/editorial/managed-it-social-v2.jpg?v=1.8.20",
                    "width": 1200,
                    "height": 630,
                    "caption": "Review related-log sampling when migrating to Application Insights .NET SDK 3.x"
                },
                "articleSection": [
                    "IT"
                ],
                "keywords": [
                    "IT",
                    "Guide",
                    "Information priority"
                ],
                "genre": "Guide",
                "about": [
                    {
                        "@type": "Thing",
                        "name": "IT",
                        "url": "https://update.dsesecurity.com/topic/it/"
                    }
                ],
                "wordCount": 238,
                "timeRequired": "PT2M",
                "publishingPrinciples": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
                "usageInfo": "https://update.dsesecurity.com/usage/",
                "copyrightHolder": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "copyrightNotice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
                "citation": {
                    "@type": "CreativeWork",
                    "name": "Migrate Application Insights Classic API Software Development Kits (SDKs) to Azure Monitor OpenTelemetry - Azure Monitor | Microsoft Learn",
                    "url": "https://learn.microsoft.com/en-us/azure/azure-monitor/app/migrate-to-opentelemetry"
                }
            }
        ]
    }
}