Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Push .Net opentelemetery data to PINPOINT #11995

Open
snmsmanager opened this issue Jan 23, 2025 · 6 comments
Open

Push .Net opentelemetery data to PINPOINT #11995

snmsmanager opened this issue Jan 23, 2025 · 6 comments

Comments

@snmsmanager
Copy link

We have to monitor our CRM application which user frontend developed by .Net and middleware developed by java. We are able to monitor middleware successfully since PINPOINT java agent fully support for our middleware. Since PINPOINT is not support for .Net , we are not able to see front-end nodes but middleware nodes are visible in corelation diagram. We have developed application using opentelemetery to get .Net transactions information and keep in ColumnStore database. We need to extend this to create application in PINPOINT hbase database and push data from ColumnStore to hbase periodically and by using this plan to fill the .Net applications gap in corelation diagram. Can anybody guid me to minimum requirement to populate application in hbase database

thanks.

@minwoo-jung
Copy link
Member

hello @snmsmanager

The current integration provided by pinpint does not allow you to store transaction data in your service environment.
It seems that you understand this and already realize that further implementation is required.

We will give you a guide on how to implement it further.
But we need to have a light discussion internally about different implementations.
We are on vacation starting next week, so the response may be a bit delayed.

@snmsmanager
Copy link
Author

hello @minwoo-jung ,
Thanks for the update. If we insert new application detail in AgentInfo and ApplicationIndex table, can we see the this in correlation dashboard?

@minwoo-jung
Copy link
Member

What does the correlation dashboard you mentioned refer to?

It is correct that the agent's metadata is stored in the two tables, 'ApplicationIndex' and 'AgentInfo'.
If the agent metadata is successfully stored, the Pinpoint web correlates and displays the application and agent information.

@snmsmanager
Copy link
Author

hello @minwoo-jung ,

thanks for the response. I mean that if we inserted agent's metadata tables then, will it visible in live dashboard as below. I have tried by adding records to 'ApplicationIndex' and 'AgentInfo' tables, but application is not visible in diagram. Also, if we populate transaction data in relevant tables, can we see the connectivity as well. Currently we are reading .Net application server and load balancer logs and corelated the transaction data with connectivity details.

Image

@minwoo-jung
Copy link
Member

minwoo-jung commented Feb 5, 2025

@snmsmanager

Image

On the servermap screen, click the output application list button and you should be able to see the application name you saved.
However, when selecting an applicationName, there is a high possibility that the server map will not be displayed.
This is because you haven't saved any transaction data.

Also, if your application is not exposed in the application list,
it is likely that the data is not stored properly in the 'ApplicationIndex' and 'AgentInfo' tables.

@minwoo-jung
Copy link
Member

I will provide a response to comment #11995.

To determine how the data you have collected and stored in a ColumnStore database can be mapped to Pinpoint's storage structure, you need to conduct an in-depth analysis of Pinpoint's internal structure.
Simply inserting ColumnStore data directly into HBase is difficult.
You must analyze how Pinpoint internally stores and manages data, identify the corresponding relationships, and then develop a matching logic.

Even if you manage to develop such a solution, I do not recommend this approach.
The logic for handling transaction data in Pinpoint is constantly being modified and expanded.
Using this method, you will not be able to keep up with changes in Pinpoint.

The best approach I can recommend is developing an agent for the language you are using in your .NET environment.
While it may be challenging, it is the fastest and most accurate method.
Currently, agents for Go, C, and Node.js have been developed. I suggest referring to those as examples for your development.

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

No branches or pull requests

2 participants