Skip to content
This repository has been archived by the owner on Jul 5, 2020. It is now read-only.

Dependency calls to cosmosdb (graph) implementation #969

Closed
reachravig opened this issue Aug 3, 2018 · 8 comments
Closed

Dependency calls to cosmosdb (graph) implementation #969

reachravig opened this issue Aug 3, 2018 · 8 comments

Comments

@reachravig
Copy link

We have a cosmosdb (graph) implementation via web socket where the application is maintaining singleton.
We fired multiple requests to the endpoint, only the first request shows the dependency call to the cosmosdb (graph) and the subsequent doesn’t, is this expected?

@lmolkova
Copy link
Member

lmolkova commented Aug 3, 2018

do you specify TCP connection policy? ApplicaitonInsights supports HTTP connections only.

If you use HTTP, you probably experience #919 or #739

Please try Dependency Collector v 2.7.0-beta4, we are working on releasing the stable version in a couple of weeks.

@lmolkova lmolkova closed this as completed Aug 3, 2018
@reachravig
Copy link
Author

Adding few more details:

We make calls to Azure blob as well as cosmosdb (graph) and other HTTP endpoints.
The dependency calls to Azure blob and other HTTP endpoints are always captured, where as only the first call to cosmosdb(graph) is captured as a dependency.
capture

capture1
We are accessing cosmosdb (graph) via the recommended gremlin.net package, which utilizes connection pools of web sockets: https://github.com/apache/tinkerpop/blob/master/gremlin-dotnet/src/Gremlin.Net/Driver/GremlinClient.cs

We are using AI on owin self-hosted application and the dependency calls are not working above 2.3.0 version ( we have a separate issue for this https://github.com/Microsoft/ApplicationInsights-dotnet-server/issues/968)

@lmolkova
Copy link
Member

lmolkova commented Aug 4, 2018

Have you tried 2.7.0 version? Does it reproduce on 2.7.0 as well?

@reachravig
Copy link
Author

With 2.7.0 looks like the other issues is resolved i.e. dependency calls are getting tacked for us (i.e. it was working only until version 2.3.0 for our owin self host app earlier), however, still only the first call to cosmosdb(graph) is captured as a dependency, other dependencies are getting captured as expected.

@lmolkova
Copy link
Member

lmolkova commented Aug 6, 2018

It seems Gremlin uses ClientWebSocket from .NET to communicate to the Cosmos DB and unfortunately we don't support web sockets auto tracking. You can still track these calls manually, please refer to this article for more details

@reachravig
Copy link
Author

Thanks for the update, @lmolkova , infact we are using "HTTP request in Owin self-hosted app" mentioned in the article you referred above, will look into this piece as well "Outgoing dependencies tracking" and use it as appropriate.
The only thing puzzling is, it's able to track the first call to cosmosdb(graph).

Thanks again!

@lmolkova
Copy link
Member

lmolkova commented Aug 8, 2018

@reachravig I can try to dig into the first call tracing if you could provide a small app that reproduces the problem (please strip all credentials).

@reachravig
Copy link
Author

Sure, will send you our code sample and details via email.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants