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

Capturing the tracing data from the PL-SQL Stored procedure. #1158

Closed
prateekvjain opened this issue Jul 1, 2016 · 1 comment
Closed

Capturing the tracing data from the PL-SQL Stored procedure. #1158

prateekvjain opened this issue Jul 1, 2016 · 1 comment
Labels

Comments

@prateekvjain
Copy link

Hi All,
As part of my project I have the tracing thing extended to the PL-SQL Packages in the database.
Idea is to have the trace id and span id passed as parameter to the pl-sql package, which in turn would have the traces generated in the flat file,
Can you please help in publishing the generic guideliness as to how the trace data capturing can be done by the database package.

To start with the idea, they would have the below generic function, which would have the below data published to flat file.
createSpan(traceid, parentspanid, generated_span_id, "server received", timestamp, packagename)
closeSpan(traceid, parentspanid, generated_span_id, "server sent", timestamp, packagename)

Now i will have two records in the file
traceid, parentspanid, generated_span_id, "server received", timestamp, packagename
traceid, parentspanid, generated_span_id, "server sent", timestamp, packagename

I need to have this data load in the zipkin, I am trying to understand whats the best way to have it published. I cannot have it published all together.
Can i create a Json format below and call the zipkin UI, which in turn take care of traslation for any DB to which its is configured.

If i have JSON format created, I need to have Server send and server recived published seperately.

{
"traceId": "beeae08bfaa5c2d3",
"name": "",
"id": "beeae08bfaa5c2d3",
"timestamp": 1467222628696000,
"duration": 65000,
"annotations": [
{
"timestamp": 1467222628696000,
"value": "sr",
"endpoint": {
"serviceName": "**
",
"ipv4": "
",
"port": 10000
}
},
{
"timestamp": 1467222628761000,
"value": "ss",
"endpoint": {
"serviceName": "**__",
"ipv4": "
****",
"port": 10000
}
}

@codefromthecrypt
Copy link
Member

This is a bit large a topic to address in this repo, and wouldn't likely affect any code inside of it. Open-ended questions are better for gitter or zipkin-user, probably best gitter.

https://gitter.im/openzipkin/zipkin
https://groups.google.com/forum/#!forum/zipkin-user

Since what you are trying to do has multiple aspects, you might want to create a github repo on your research project and add an issues to it there. For example, how to accept trace identifiers.. how to report json (or otherwise) back to zipkin. Dividing concerns can help make helping more approachable, as people often don't have time to address several topics at the same time.

What would also make things more approachable is not doing this in Oracle. For example, see if you can create a scenario similar enough in something like mysql or postgresql. Then, port your approach to Oracle.

Back to specifics, I don't think there's any existing SQL database accepting traces propagated from a zipkin-instrumented caller. There is one for cassandra https://github.com/thelastpickle/cassandra-zipkin-tracing

There may be some topics on our documentation site that need added to or elaborated. Here are some notes that may be interesting to you:

openzipkin/openzipkin.github.io#31
openzipkin/openzipkin.github.io#11

feel free to ask more questions here https://gitter.im/openzipkin/zipkin and good luck

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

No branches or pull requests

2 participants