►
From YouTube: Processing YAML dashboards to GraphQL APIs
Description
Max (Analyze::Product Analytics) demos the proposed changes in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/102547.
A
Hey
folks,
my
name
is
Maxwell
from
a
senior
backing
engineer
on
the
analyze
stage,
number
one
one
through
I've
done
so
far
in
terms
of
converting
yaml
dashboard
definitions
into
usable,
graphql,
API,
endpoints
and
the
bit
in
between
so
as
you've
agreed,
we'll
have
a
DOT,
gitlab,
folder
called
Product,
analytics
dashboards
and
within
each
of
those
we
can
have
our
own
dashboard
inside
each
of
those
files
should
be
a
folder
should
be
a
SQL
file
with
the
same
name.aml
and
then
the
definition
file
itself.
A
I
know:
we've
got
to
agreed
the
exact
scheming
yet,
but
I
think
at
this
point
I'm,
assuming
that
these
three
attributes
will
exist
as
well
as
some
sort
of
array
of
widgets
of
some
kind.
A
So
you
can
see,
we've
got
another
one
here
as
well
called
Northstar
and
the
end
point
we
want
to
get
to
is
you
want
to
be
able
to
make
a
query
like
this
for
a
particular
project
as
a
developer
or
higher
output,
all
the
dashboards
for
information,
the
widgets
and
eventually
their
figures
as
well?
Not
quite
that
far
yet.
So
if
we
run
that
query,
for
example,
you
can
see
that
I've
now
got
two
and
I've
also
added
the
ability
to
filter
by
slug,
where
slug
is
the
the
file
name
essentially.
A
So,
in
this
case
North
Star
well,
then
filter
by
a
particular
one
for
pulling
out
single
dashboard.
That's
awesome!
How
does
it
work
so
it's
treated
very
similarly
to
every
other
model
and
the
application,
except
that
it
isn't
backed
by
the
record
it's
backed
by
yaml
files
instead,
so
let's
start
that
level.
So
then
ee
models,
product
analytics
and
we've
got
a
two
new
classes,
dashboard
and
widget.
A
So
project
now
has
have
this.
This
method
called
self
dot
for
project,
so
you
can
say
project.4
project
pass
it
in
a
project
and
it
will
look
for
all
of
the
files
in
there
check
whether
a
particular
the
correct
file
exists
and
then
convert
that
into
one
of
these
objects
and
also
pre-populate
all
the
widgets
as
well.
The
logic
for
doing
so
is
in
here
so
definitely
check
the
code
out
if
you're
interested
in
how
that
works.
A
Whilst
we've
got
that
information,
you
can
then
see.
We've
now
created
some
new
graphql
types.
A
So
if
I've
got
dashboard
type,
widget
type,
there's
nothing
particular
exciting
going
on
here
delegated
the
ability
to
see
a
dashboard
to
its
project,
developer
access,
so
developers
or
above.
A
That's
about
it
so
far,
one
thing
that
I'm
gonna
have
to
see
as
time
goes
on
is
how
well
the
scales,
because
at
the
moment
almost
every
request
is
going
to
hit
gittily
quite
regularly
the
resolver's
aware
of
that,
but
again
it
could
cause
troubles
in
the
future
so
far.
Yeah.
Let
me
ask
any
questions.