►
From YouTube: Grafana Tempo Community Call 2023-03-09
Description
Join our next Tempo community call:
https://docs.google.com/document/d/1yGsI6ywU-PxZBjmq3p3vAXr9g5yBXSDk4NU8LGo8qeY/edit#heading=h.3x2mcvpczj56
- Tempo 2.0.1!
- Adding Select to TraceQL?
- Future TraceQL work / Tempo 2.1 release
A
All
right,
everybody
welcome
to
Tempo
Community
call
March
Edition
2023.
I
apologize
for
missing
the
last
one.
I
was
feeling
a
bit
under
the
weather,
but
I
watched
the
video
and
Marty
ran
it
quite
well
and
I
think
you
all
had
a
great
time
a
lot
of
cool
discussion.
It
was
right
at
the
2.0
release
and
I
wasn't
able
to
be
there
as
kind
of
sad
about
that,
but
so
it
goes
sometimes
I
suppose.
A
So
today
we
have
a
agenda
up
there.
For
anyone
who
is
interested,
please
feel
free
to
add
your
own
topics.
I
think
we
all
have
edit
rights
here.
So
don't
hesitate
to
add
your
own
topics
and
we'll
always
kind
of
end
with
an
open
time
for
questions.
So
if
you
have
some
thoughts
or
questions,
you're
welcome
to
ask
operational
with
questions
or
just
roadmap
questions
or
really
anything
you
want
we'd,
be
glad
to
help
people
run
their
clusters
or
chat
about
anything.
Tempo
related
or
tracing
I.
A
Suppose
so
think
about
some
questions
for
the
end
other
than
that
we're
going
to
talk
about.
We
just
had
a
patch
that
Mario's
gonna
review
201
and
some
of
the
small
changes
there.
Just
some
bug
fixes
and
some
nice
stuff
Marty
is
gonna
cost
extension
to
trace
ql
that
a
Community
member
suggested
and
we'd
also
been
talking
about,
but
he's
just
going
to
overview
that
and
talks
about
some
of
those
ideas
and
then
I'm
going
to
talk
about
some
of
the
work.
That's
already
in
Maine
for
Trace
ql.
A
That's
that's
exciting,
as
well
as
kind
of
show
the
to-do
list
and
kind
of
get
some
baby.
Some
feedback
from
you
all
about
what
to
tackle
next
there's
a
lot
of
things
that
could
be
added
to
trace
guo
and
we're
just
kind
of
prioritizing
what
we
want.
But
we
certainly
want
to
hear
what
you
want
to
so
we'll
start
up
with
Mario
Mario.
A
Can
you
do
201
buds.
B
All
right,
so
we
have
a
new
release
this
time,
it's
a
patch
2.201
and
it
contains
a
couple
of
bug,
fixes
and
changes.
Although
the
changes
are
arguably
bug
fixes
as
well
today,
sharing
screen
I
can
go
over
the
points,
I,
don't
know,
wait
or.
A
B
B
B
All
right,
so
we
have
a
couple
of
changes.
The
first
one
is:
we've
changed
how
we
handle
some
special
Fields
between
the
whole
search
and
in
search.
One
of
them
is
a
status
code,
we're
now
using
just
status.
B
It
was
kind
of
a
similar
change
for
error
and
we
merge
a
change
to
fix
that
and
to
stick
to
to
the
new
conventions,
interest
girl,
and
we
had
another
change,
which
was
we're
now
not
streaming
leading
serials
in
Spanish
we,
which
we
were
doing
before
that
used
to
cost
that
when
we
had
when
we
were
linking
from
trade
skill
results
to
the
actual
Trace,
which
now
you
can
jump
to
the
specific
spam
that
match
your
query.
B
If
you
have
leading
zeros
the
the
Lincoln
wouldn't
work
correctly
different,
and
then
we
had
a
couple
of
bugs
bug
fixes
with
some
removed
a
Spam
lock.
Basically,
then
we
were
having,
or
there
were
rather
panics
in
Injustice
and
compactors,
while
reading
some
blocks
that
were
written
by
a
commit
between
1.5
and
2.
2.0.
So,
if
you've
been
following
like
tip
of
Maine,
you
may
have
written
one
of
these
blogs.
Now
the
problem
is
in
solve,
it
just
fails
more
gracefully
now
and
doesn't
panic,
which
is
nicer.
B
Now
we're
also
fixed
how
we
were
merging
results
in
partly
traces,
and
we
have
a
trace
level
data
coalesce
better
and
then
there
was
a
bug
in
how
we
were
sending
trade
school
queries
in
AWS
lambdas
yeah.
Basically,
we
need
to
we
needed
to
unscape
three
inquiries
which
we
were
not
doing
before
and
well
that's
pretty
much
it.
We
encourage
everyone
to
move
to
to
one
and
contentious
a
couple
of
back
fixes,
but
all
of
them
are
worth
the
upgrade
I
believe.
A
Yeah
we
tried
to
keep
what
we
back
forwarded,
201
I,
suppose,
scope
to
the
things
that
were
most
important,
that
trace
ql
and
Lambda
is
funny
because
we
hadn't
run
it
in
Lambda,
yet
which
is
kind
of
surprising,
but
it's
nice
that
somebody
picked
that
up
for
us
other
than
that
yeah
I
think
this
is
all
pretty
good.
I've
already
had
a
good
fix
upstream
and
parquet
go
to
prevent
that
Panic.
That
I
think
at
least
one
person
was
that
Lucas
was
kind
of
asking
us
about,
because
they
were
saying
it
most.
A
C
D
Yeah
I
think
it
was
constrained
only
for
anyone
who
was
following
along
with
the
current
builds
like
the
dev
builds
for
that
exciting
parquet
functionality
which
totally
paid
off
yeah.
So
it's
okay,
yeah
I,
think
this
is
a
good
patch.
A
Cool
okay,
one
of
the
gross
Corners
I,
think
of
trace
ql
and
the
old
tag
based
search
is
that
first,
one
there
status
code
and
the
way
we
handled
it
before
was
kind
of
to
match
jaegery
kind
of
conventions,
and
now
we're
really
sticking
to
otel
and
I
think
what
we're
doing
now
makes
a
lot
of
sense
and
it
works
a
lot
better,
but
we
still
have
the
older
tag-
searches,
kind
of
strange-
if
you
do
see
weird
behavior
in
that
world
or
confusing
Behavior-
please
let
us
know
so
we
can
continue
to
iron
that
out.
D
D
C
D
Cool
yeah,
so
there's
the
link
there.
So
this
was
something
that
we've
been
talking
about
and
if
you
go
through
here,
if
you've
used
traceql,
this
will
make
a
lot
more
sense.
But
if
it's
new,
it
might
not
be
apparent
so
I
instead
of
running
a
demo
to
kind
of
show
it
off.
I
was
just
going
to
actually
just
kind
of
like
show
this
whole
document
here.
D
D
And
so,
if
you
do
like
a
regex
or
these
open-ended
Expressions,
that's
really
cool
because
it
matches
the
condition,
but
also
shows
you
what
was
there.
And
so.
If
I
did
this
query
like
show
me
all
the
five
x
axes?
You
know
this
is
greater
than
or
equal
than
500,
so
I
would
see
the
actual
value
in
the
results
table,
but
sometimes
I
want
to
see
it,
but
without
actually
imposing
any
condition
on
it,
and
so
there's
this
trick,
which
we've
been
doing,
and
we
realized
oh
yeah.
D
D
It's
not
quite
like,
or
at
least
simpler,
in
maybe
part
of
the
language
and
just
like
this
is
probably
like
the
easiest,
like
kind
of
like
a
straightforward
syntax
that
we
kind
of
came
up,
or
you
know
that
was
kind
of
like
popped
up
here
in
the
ticket
and
I
think
this
makes
a
lot
of
sense
and
but
I
actually
wanted
to
talk
about
it
and
just
say
that
it's
kind
of
interesting,
because
there's
no
or
well,
let
me
back
up.
D
D
But
what's
interesting
is
that
there's
no
typing
on
this,
so
that
may
be
something
we
need
to
think
through
I
guess
it
would
just
look
for
that
tag
of
any
type
yeah,
and
so
this
is
one
way
and
I
think
this
is
cool.
We
kind
of
like
the
pipes
we
kind
of
like
the
processing
pipelines
I
think
they
make
sense.
D
That's
a
part
of
the
language
that
we
like,
but
before
we
go
and
do
that
I
wanted
to
just
throw
out
another
crazy
syntax,
which
maybe
is
something
like
this,
because
there
could
be
a
little
bit
differences
in
the
language.
D
This
one
doesn't
doesn't
necessarily
imply
that
it
exists
on
the
span.
So
maybe
that's
what
we
want.
The
tag
is
nil
like
currently.
We
don't
really
do
anything
like
that,
whereas
something
like
this
would
mean
pull
it
back,
but
also
make
sure
that
it's
present.
So
maybe
that's
something
we
would
talk
about,
but
so
yeah.
So
if
you
have
any
thoughts
or
feedback
or
ideas
like
I
think
there's
definitely
some
cool
things
we
could
do
here
and
we
should
but
it's
kind
of
interesting
yeah
yeah.
D
So
you
could
definitely
do
you
know
the
method
in
any
of
these
yeah,
yeah
and
I.
Think
the
example:
what's
that
share.
D
Oh
okay,
sure,
okay,
well
I'll
right
now,.
A
Oh
I
I
because
I
I,
like
your
idea,
I
wanted
to
kind
of
Riff
on
it
so
I'm
because
I've
been
thinking
about
like
tag
existence
and
maybe
tag
existence
is
selection
right,
maybe
just
having
a
way
to
like
assert.
The
thing
exists
could
be
the
same
thing
as
selecting
I,
don't
know.
D
A
A
D
Yeah
Loki's
unwrap
is
kind
of
neat
the
differences.
Here
we
only
with
the
columnar
approach.
We
only
load
the
data
minimum
necessary,
so
we
kind
of
need
to
know
up
front
whereas
with
unwrap
I
think
it's
kind
of
already
loaded,
it's
a
little
bit
different,
but
yeah.
Definitely
that's
something
that
we
should
look
at
again.
A
A
Okay,
cool
I
do
encourage
anyone
who's
interested
in
this
topic
or
Trey
skill
in
general
to
jump
in
that
issue
and
give
us
some
ideas.
If
you
have
any
kind
of
input
on
the
direction
language
heads
we're
interested
in
what
you
all
think
and
so
feel
free
to
check
some
thoughts
in
there
and
we'll
we'll
we'll
think
about
that.
As
we
move
forward
with
the
language
I.
C
Just
had
a
quick
question
based
on
what's
on
the
screen
here,
the
first
one
that
first
condition
you're,
selecting
spans
that
contain
that
HTTP
URL.
But
then
that's
returning
the
traces,
so
you're,
selecting
status
code
and
Method
exists
on
the
trace.
Not
the
spans.
The
match
in
the
first
condition
is
that
right.
D
Yeah
I
think
it's
kind
of
undefined.
This
kind
of
implies
that
we'll
pull
them
back
if
they
exist,
but
they
may
not,
and
so
that's
not
something
we
actually
do
right
now,
if
you
there's
no
way
to
say
to
kind
of
select
a
nil
in
traceql,
I
think
right
now,
even
if,
like
this
top
one
here,
still
make
sure
that
it
exists.
D
C
C
D
A
D
A
If,
if
they
do,
then
we
definitely
want
something
right.
Some
ability
to
like
compare
to
nil,
okay
attributes
have
to
be
non-null
I.
D
B
A
C
C
C
A
Also
share
my
screen:
real
fast
I'm
gonna
just
grab
this
this.
Whatever
the
stock.
Is
this
agenda
doc?
No,
not
my
entire
screen.
That
could
be
a
disaster
there.
We
go.
A
Okay,
so
we
have
some
cool
things
already
in
tip
of
Maine
that
are
not
that
are
not
into
oh
Marty
did
a
really
good
job.
The
team
did
a
really
good
job.
Also
just
building
this
like
layer
to
add
features
on
top
of
very
rapidly.
A
A
So
arbitrary
arithmetic
is
now
part
of
the
language,
which
is
fun
because
you
can
do
silly
things
like
you
know,
span
Dot,
http.status
code
divided
by
2,
is
greater
than
100,
certainly
a
strange
thing
to
ask,
but
you
can,
but
it
also
has
I
think
more
interesting,
like
or
interesting
uses
like
span
dot.
You
know
megab
bytes
processed
I
like
something
like
this.
A
Sometimes
you
want
to
write,
suddenly
looks
more
human,
readable
right
and
something
like
that
might
be
a
little
bit
easier
to
understand
as
a
human,
when
you're
writing
a
quick
query,
so
I
think
there's
some
really
cool
uses
for
this
also,
like
ratios
between
tags,
are
now
possible.
Like
span
dot,
one
thing
is
greater
than
span
dot.
A
The
other
thing
oops
thanks
too
so
these
kind
of
you
know
ability
to
compare
ratios
exist
now
where
it
did
not
before
so
arbitrary
arithmetic
was
a
shockingly
small
PR
for
what
sounds
like
a
huge
amount
of
functionality
and
again
like
there's
so
much
already
done
that
we
have
like
places
to
drop
a
lot
of
cool
functionality,
I'm
going
to
also
comment
or
note
this
link
down
here
this
to
do
this
is
our
current
list.
A
I,
like
I,
said
I'm
about
to
write
an
issue
for
or
I'm
about,
to
write
an
issue
for
existence
of
an
attribute.
If
you
have
strong
feelings,
please
jump
in
look
at
some
of
those
Trace
ql
tagged
issues
write
your
own.
Please
upvote!
You
know
thumbs
up
the
ones
that
matter
to
you
and
we'll
try
to
prioritize
the
ones
that
people
are
most
interested
in
but,
like
I,
said
right,
we
could
like
min
max
and
some
would
be
very
quick
aggregations
to
add
and
I
keep
meaning
to
do
that.
A
Spandot
kind
is
one
that
keeps
coming
back.
That
I
want
to
add.
So
there's
a
lot
and
we
really
want
to
kind
of
get
a
bunch
of
features
in
for
the
2-1
release.
This
one
is
another
one
kind
of
a
bug
fix
really
like
this
before,
but
it's
always
false
one
equals
0.1
or
one
point
I
guess
so.
This
is
like
compare.
Comparing
floats
against
number
types.
A
Sorry
floats
against
integers,
so
this
PR
really
kind
of
coalesced,
all
durations
all
floats
and
all
integers
into
one
kind
of
number,
which
I
think
works
a
lot
better.
We
actually
have
some
people
at
grafana
and
I
haven't
tracked
this
down
yet
who
are
storing
their
HTTP
status
code
as
a
float.
I,
don't
have
a
clue
why,
but
this
would
not
find
that
if
it
was
float,
200
dot.
Basically,
so
if
it
was
a
float
200
instead
of
integer
200.
A
So
now
that
with
this
change,
that'll
be
in
2-1,
it's
going
to
pick
up
all
number
types
and
be
able
to
compare
them.
You
know
equally
or
across
types
which
I
think
is
pretty
cool
and
then,
finally,
this
performance
PR
did
some
really
cool
things.
A
The
initial
architecture
was
to
pull
everything
at
the
very
beginning
and
then
evaluate
all
of
your
Like
rules
against
it,
and
this
performance
PR
only
pulls
exactly
what's
necessary
to
evaluate
the
rules
and
then,
if
those
rules
pass,
then
it
pulls
some
heftier
columns
like
the
span
ID,
which
is
one
of
the
largest
columns,
maybe
the
largest
column
in
the
in
the
block,
and
it
also
pulls
like
the
span
start
time
and
end
time.
A
So
this
performance
PR
is
really
going
to
make
a
query
speed
up
quite
a
bit,
especially
when
you're
doing
like
those
needle
and
Haystack
stop
queries
where
you're
looking
for
one
or
two
traces
amongst
a
whole
lot
of
them.
So
these
are
three
exciting
things
already
in
tip
of
Maine.
Like
I,
said,
there's
this
to-do
list
and
there's
a
lot
of
directions
to
take
this
I'm,
going
to
primarily
be
working
on
this
for
the
next
month
or
two
adding
any
features
I
can
find
doing.
A
Any
performance,
I
can,
or
you
know,
kind
of
carving
out
any
performance
gains
I
can
and
then
we
want
to
cut
a
two
one.
Somewhat
quick
2o
was
about
two
months
late,
not
the
worst
thing
in
the
world,
but
not
the
best
either,
and
we
really
want
to
cut
to
one
a
bit
quicker
to
get
some
of
these
features
out
because,
like
I
said
we're
iterating,
quick,
we
really
spend
a
year
building
a
platform
to
add
value
on
top
of
and
I
want
to
cut
it
to
one
quick.
A
So
if
you
do
have
thoughts,
if
you
do
have
preferences,
please
let
us
know,
and
we
can
prioritize
those
and
get
those
out
to
you,
quick
in
a
2-1
but
yeah
other
than
that
I
I
got
not
much
to
say
at
this
point.
The
official
agenda
is
complete.
If
you
have
anything
you
want
to
talk
about,
please
feel
free
to
ask
in
chat
or
unmute
or
Chuck
it
in
the
doc
or
you
know
whatever
you
want
to
do.
A
E
That
I
can
send
the
a
full
rescue
Elder
and
get
results
because
now,
on
top
of
it,
I
build
like
a
graphene
uploading,
where
I
can
write
like
a
normal
stress
ql
but
then
like,
if
I
put
some
Fields
with
the
wild
card.
It
aggregate
this
field.
For
me
in
some
time,
so
then
I
say:
okay,
I
see
some
people
ask
me,
like
okay
I
see
these
spycon
things.
What
are
these
things
Within
These
attributes,
then
I
can
just
do
the
aggregation
and
then
say:
okay.
E
This
is
that
if
we
don't
have
Metro
generator
for
this
attributed
and.
A
A
C
E
If
I
can
share
with
the
company
data,
but.
A
E
Can
create
maybe
a
small
small
app
using
this
sample
data
generator
and
just
share
it
share
a
GitHub
with
with
a
sample
project,
but
it's
very
simple.
Just
aggregate
the
data
show
it
on
grafana.
A
Is
it
is
it
included?
Are
you?
Are
you
like
working
through
the
blocks,
the
parquet
blocks
yourself,
or
is
it
a
way
you're
querying
tempo
I.
E
Quarry
Temple,
so
I
just
use
I
create
like
a
small
goal,
application
that
query
Temple
and
this
one
the
aggregations
and
then
send
it
like
a
in
a
clear
format
to
grafana
and
then
in
grafana
just
presented
like
okay.
These
are
the
values
in
these
times
and
then
rafana.
You
can
say
like
the
front
and
two.
So
you
know
where
to
look,
and
you
can
say
how
many,
how
many
traces
do
you
want
to
look
so
I
say.
E
For
example,
okay
I
want
a
sample
of
a
thousand
traces
and
then,
with
the
sample
check.
What
are
the
aggregations?
That's
awesome.
Yes,.
C
E
Like
it,
because
now
we
have
this
like
a
the
trick
that
you
were
talking,
I,
don't
use
the
the
negation
I
just
do
like
a
wild
card.
If
it's
a
wire
car,
he
knows.
Okay,
I
need
to
aggregate
that
and
then
yeah.
Of
course,
yeah.
A
Yeah
I'd
love
to
see
that
that's
really
cool
and
yeah
we
may
or
may
not
be
working
on
very
similar
functionalities.
Don't
ask.
A
But
yeah
an
obvious
Next
Step
here,
I
think
it's
awesome.
Fausto
put
something
together
is
now
that
we
have
the
column
reformat.
Now
that
we
can
kind
of
dynamically
calculate
some
of
these
metrics
to
start
dynamically,
calculating
metrics
and
kind
of
allow
users
to
choose
whatever
Dimensions
they
want
to
see
their
see.
You
know,
latency
see,
request,
duration,
C,
requests
per
second
and
these
kind
of
things
and
that's
yeah
again,
maybe
maybe
a
direction.
We're
headed
right
now,
Marty,
who
didn't?
Let
me
talk
about
it.
We
can
all
blame
Marty.
A
Have
said
nothing,
nothing
is
happening
all
right.
Thank
you
all
for
your
time,
I
appreciate
you
all
coming
to
the
community
call
I.
Guess
it's
a
bit
of
a
short
one,
but
we
had
some
cool
news.
Look
out
for
the
2-1
like
I
said
we're
trying
to
cut
it
quick
and
we'll
talk
to
you
in
about
a
month
or
so.
Thanks
for
joining
us.