Neven Miculinić
Which % I'm doing:
GET /users?tag=XXX
SELECT id FROM USERS WHERE tag=XXX
GET /user/id
SELECT * FROM USERS WHERE id=$1
[
{
"name": "Asub",
"cat": "PERF",
"ph": "B",
"pid": 22630,
"tid": 22630,
"ts": 829
},
{
"name": "Asub",
"cat": "PERF",
"ph": "E",
"pid": 22630,
"tid": 22630,
"ts": 833
}
]
OT | OC | |
---|---|---|
CNCF Incubating | Organization | formerly google, now different stakeholders |
OT | OC | |
---|---|---|
CNCF Incubating | Organization | formerly google, now different stakeholders |
Trace API only | Feature Set |
Trace & metrics API |
OT | OC | |
---|---|---|
CNCF Incubating | Organization | formerly google, now different stakeholders |
Trace API only | Feature Set |
Trace & metrics API |
specified in each API call | Tracers | Set of global traces |
OT | OC | |
---|---|---|
CNCF Incubating | Organization | formerly google, now different stakeholders |
Trace API only | Feature Set |
Trace & metrics API |
specified in each API call | Tracers | Set of global traces |
Depends on backend | Propagation format | Specified by OC standard |
OT | OC | |
---|---|---|
CNCF Incubating | Organization | formerly google, now different stakeholders |
Trace API only | Feature Set |
Trace & metrics API |
specified in each API call | Tracers | Set of global traces |
Depends on backend | Propagation format | Specified by OC standard |
Evolving, some deprecated APIs | Overall feeling | More polished API, nicer to work with |
j, err := jaeger.NewExporter(jaeger.Options{
Endpoint: "http://localhost:14268",
ServiceName: "opencensus-tracing",
})
trace.RegisterExporter(exporter)
ctx, span := trace.StartSpan(ctx, "some/useful/name")
defer span.End()
span.AddAttribute(trace.StringAttribute("key", "value"))
span.Annotate(nil, "some useful annotation")
span.Annotate(
[]trace.Attribute{trace.BoolAttribute("key", true)},
"some useful log data",
)
client = &http.Client{Transport: &ochttp.Transport{}}
http.ListenAndServe(addr, &ochttp.Handler{Handler: handler})
req = req.WithContext(ctx)
resp, err := client.Do(req)
func HandleXXX (w http.ResponseWriter, req *http.Request) {
ctx := req.Context()
// ...
}