AI on a WebApp is only showing telemetry data comming from non-Azure requests, not from other WebApp requests. RRS feed

  • Question

  • Hi,

    We have the following situation:

    WebApp A has AppInsights
    WebApp B has AppInsights

    External service (or me via postman) calls WebApp A -> this results in telemetry in AI of WebApp A.

    WebApp B calls WebApp A -> This results in no telemetry at all in AI of WebApp A.
    Failures of WebApp A are displayed in AI of WebApp B.

    In the past, Also the AI of WebApp A did display all telemetry (and the avg. response times for example)

    What causes this problem?

    Wednesday, November 28, 2018 12:49 PM

All replies

  • Hi,

    I'm a colleague of Rick and want to provide some more information because he is on holiday now.

    The architecture of our stack is as follow: We create several APIs, there are APIs that have a more general purpose (WebApp A) and there are specialized APIs (WebApp B). The specialized APIs calls the general APIs, by combining data and operations we can create APIs for several different applications. All these APIs can be managed by different teams and have different purposes.

    One API can call a couple of other APIs to get data and process data. 

    In the past we could go to the Application Insights of one of the APIs (general or specific, doesn't matter) and see telemetry / failures. The nice thing then was that the information was enriched with data of the calling API or the API that was being called. 

    So if we looked at the Application Insights of WebApp A we could see the telemetry of WebApp A. If a call to WebApp A was made by WebApp B we could see that also. When we looked at the Application Insights of WebApp B we could see the call made to WebApp B and also the calls that the WebApp made to WebApp A and other APIs.

    Now is that not possible anymore, when we go to Application Insights of the called API (WebApp A) we see only telemetry / failures of request that are made directly (like with Postman) to the API or from an external service that is not hosted in our Azure environment. Calls made by another API hosted in our Azure environment (WebApp B) are not shown in Application Insights. When we want to see these calls we have to go to the calling API (WebApp B) and than we can view the data.

    You can see this in the screenshots below, the first screenshot is of the general API that is being called. The second screenshot is of the calling API.

    Our questions:

    • Does somebody else notice this behavior as well?
    • Is this a bug?
    • How can we get the Application Insights working again like it was? (Is it a setting, did Microsoft changed something?)
    • Why can we see the exceptions in WebApp A but not the operations?
    • Why are the exceptions in WebApp B at the wrong level?
    Friday, November 30, 2018 6:57 AM
  • Can you once confirm if the WebApp B (the calling app) is called from an API Management endpoint and not directly. As per the note in E2E telemetry image for WebApp B , you mentioned that the "Azure API Management is used between the APIs" which is little confusing as the E2E telemetry root is being shown as an APIM endpoint. The exception at the root level may be the effect of "Always log errors" setting of AI in APIM.

    Can you also confirm if all the dependency calls from WebApp B (calling app) to WebApp A (called or dependency app) are resulting into some failures?

    Friday, November 30, 2018 8:28 AM
  • Hi!

    Yes, the calles between the APIs is via Azure API Management, we use it for insights and abuse protection.

    That the exception is shown at root level is also confusing us, this should not happen and it didn't happen in the past. In Azure API Management "Always log errors" is not enabled for WebApp B.

    The dependency calls are critical for the flow of the operation. With the call enable some options, if that doesn't work the call should fail too. In this case some prerequisites are not met so the call is failing. 

    Friday, November 30, 2018 9:22 AM
  • Hi,

    Nobody has seen this thing too? :(

    We use .net core and the packages should be up to date.

    Wednesday, December 5, 2018 7:58 AM
  • Hello,

    I tried your setup (but with .NET Framework 4.6.1) in order to reproduce the scenario but couldn't (enclosed herewith is the analytics query results). You should note that the telemetry entries (requests, dependencies) for calls from App A to App B through APIM are not linked with a common correlation ID so E2E transactions may appear at different levels. Can you reproduce your scenario once and check what you see in the "Application map" of the AI.

    Wednesday, December 5, 2018 5:45 PM
  • Just to clarify, in my setup, App A is a calling or dependent app and App B is a called or dependency app.
    Thursday, December 6, 2018 6:05 AM