►
From YouTube: 2021-12-01 meeting
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
A
C
B
I'm
gonna
have
to
I'm
gonna
have
to
change
the
announcement
in
the
in
the
in
the
slack
channel.
They
wanted
us
to
use
different,
a
different
zoom
from
now
on
this,
the
open,
telemetry
maintainer
group
or
whatever,
but
I'll
update
that
next
we
can
use
this
one
for
today.
B
All
right,
we'll
give
it
until
five
after
and
we'll
get
rolling
on
our
agenda
nice
to
see
some
of
you
in
person.
I've
talked
to
some
of
you
on
the
internet.
I've
had
to
miss
the
last
couple
because
of
work
conflicts.
My
company
was
acquired
and
we've
had
a
lot
of
a
lot
of
fun.
Things
happen
since
then,
but.
B
B
You
know
it's
a
really
great
question.
The
idea,
I
think,
is
you
know,
I'm
just
a
lowly
software
engineer.
The
idea
is,
I
think
that
intuit's
goal
is
to
have
an
end-to-end
process
for
small
business,
so
acquiring
mailchimp
allowed
them
to
have
websites
and
email
and
all
of
these
things
and
then
so.
A
new
customer
signs
up
use
mailchimp
to
do
all
those
things.
Use
turbotax
for
their
tax
purposes,
use
quickbooks
for.
E
B
D
Was
that
was
me:
okay
yeah?
I
I
just
noticed
that
the
sort
of
the
reviewers
for
all
the
pr's,
that
you
know
the
same
three
names,
but
I
it
looks
like
two
of
them-
have
sort
of
dropped
off.
I
haven't
seen
any
activity
for
a
while,
so
I
was
just
going
to
ask
you
worth
reaching
out
to
the
more
nominating
you
know.
Another
new
maintainer
to
it
seems
like
you're
doing
all
of
the
all
of
them.
B
So
I'd
love
to
give
you
some
of
the
historical
context
on
this.
This
project
started
about
a
little
over
two
years
ago,
and
I
was
one
of
the
first
maintainers
along
with
another
another
man
since
then,
we've
had
a
rotating
revolving
door
of
maintainers.
B
Most
most
of
the
maintainers.
Have
a
lot
of
maintainers
got
frustrated
with
this
project
first,
because
the
requirements
were
ever
changing
in
the
beginning,
so
it
was
very.
It
was
very
frustrating
to
work
on
this
project
at
the
beginning
when
the
specification
wasn't
finalized
or
whatever.
Now
it
is
so.
I
think
that
we're
in
a
good
state,
but
the
maintainers
that
have
that
are
listed
in
our
grouping
of
maintainers,
are
not
active
maintainers.
B
Currently,
if
you
or
anybody
else,
would
like
to
become
a
maintainer,
there
is
a
there's,
a
list
of
things
that
you
must
do
to
become
a
maintainer
of
an
open,
telemetry
project.
I
think
it's
on
the
open
telemetry
I
o
website.
I
think
you
have
to
have
a
specific
number
of
reviews
and
pull
requests
and
be
active
for
a
certain
amount.
It's
it's
pretty
arbitrary
and
if
anybody
wants
to
become
a
maintainer
I
will
more
than
happily
endorse
them
because
brett
you
are
correct.
B
A
A
Maybe
but
one
question:
do
you
have
to
be
a
member
of
the
organization
to
be
a
maintainer.
B
C
A
B
That's
true,
however,
the
other,
so
how
that
works
is
there
are
other
maintainers
for
other
subject
interest
group
sigs
and
they
would
1000
endorse
the
second
second
maintainer,
because
they
know
the
strike
that
I've
faced
being
the
only
maintainer
for
this
project.
I
have
one
of
my
biggest
problems.
Is
I
actually
can't
commit
code
because
I
can't
review
my
own
code,
so
that
gets
to
be
pretty.
B
A
Do
it,
I
would
have
to
take
a
look,
what
actually
are
bigger
requirements,
but
I
would,
I
don't
think
I
have
a
problem
with
that.
B
If
it
hasn't
been
abundantly
clear,
I
am
unbelievably
grateful
of
all
the
work
that
you
all
have
been
doing
on
this
project
and
it's
really
a
breath
of
fresh
air
to
have
people
active
on
it.
So
bravo
and
very
happy
to
have
both
have
either
or
both
of
you,
be
they
there's
two
separate
distinctions
that
you
can
be.
You
can
be
a
reviewer
or
a
maintainer.
A
reviewer
gives
you
review
ability,
but
doesn't
give
you
as
like.
You
don't
have
as
many
responsibilities
as
a
maintainer,
it's
pretty
ambiguous,
but
there's
I'll
find
that
documentation.
A
It's
the
requirement
to
take
part
in
other
meetings
or
something
as
a
maintainer.
B
No,
no,
you
would.
You
would
never
have
to
take
part
in
another
meeting
unless
you,
if
you
don't
want
to,
there,
are
there's
a
maintainer
meeting
on
mondays
and
it's
kind
of
interesting,
because
you
do
get
to
see
a
lot
of
things
that
happen
with
other
cigs
and
you
get
to
I've
gotten
to
meet
a
lot
of
really
interesting
people
that
I
would
never
have
met
before
that
work
for
major
corporations,
and
I
have
really
good
ideas
or
whatever.
But
you
don't
have
this,
you
don't
even
have
to.
A
A
B
A
D
B
D
Was
mine
as
well,
which
was
just
you
know,
I
found
that
was
with
a
couple
of
active
developers
with
getting
in
each
other's
way
or
I'm
getting
into
most
ways
a
little
bit,
sometimes
because
I'm
working
on
something
that
I
don't
necessarily
fully
appreciate.
What
what
he's
working
on.
I
did
notice
that
there
was
some
a
couple
of
different
project
boards
with
cars
that
moved
around,
but
but
it
looks
like
it
hasn't
been
touched
for
quite
a
long
time.
B
Yeah
yeah,
it
definitely
hasn't
that
hasn't
been
high
on
the
priority
list.
I
think
that
y'all
opening
more
issues
has
been
super
helpful.
So
thank
you
for
doing
that
and
may
I
think,
a
combination
of
maybe
being
a
little
bit
more
succinct
in
this
meeting,
as
well
as
just
communicating
what
you're
working
on
effectively
before
you
start
doing
it.
I
know
I'm
always
like
gritty
gritty
at
the
teeth
to
start
working
on
whatever
implementation
strategy
I'm
working
on,
but
if
we
can
just
work
on
discussing
what
we're
going
to
do
before
we
do
it.
D
Yeah
yeah
I've
been
wondering
what
to
do
with
that.
A
Yeah
definitely
because
well
it's
not
really
that
things
are
colliding.
You
know
it's
all
the
things
I
was
complaining
about
what
you
did
brett
you
know.
So
it's
the
same
for
me.
I
don't
like
complaining
about
stuff
like
this
because
yeah
that's
if
you
can
avoid
stuff
like
this,
I
think
everybody
will
be
happier.
D
I
agree
yeah
yeah,
and
so
maybe
I
just
need
to
make
sure
I
you
know,
create
issues
first
and-
and
you
know
just
flesh
out
a
rough
idea
of
this-
is
what
I
what
I
think
it
would
look
like:
here's
some
pseudo
code
and
just
get
some
buy-in
before
starting
work,
because
I'm
probably
the
same.
I
just
want
to
start
writing
code
and
I
need
to
pull
that
back
a
bit
sometimes.
D
The
next
one
was
also
me
we're
going
to
talk
about
so
I
created
an
environment,
variable
or
imagined
an
environment
variable
for
choosing
a
spam
processor
and
went
ahead
and
implemented
that
in
a
recent
pr,
and
then
you
know
created
some
issues
on
the
specification
and
eventually
got
to
I
couldn't
I
couldn't
reach
anybody,
so
I
actually
just
created
a
request
for
it
and
that
got
some
got
some
traction.
D
The
end
result
was
they
said.
No,
I
I
didn't
go
to
go
to
the
fair
meeting,
but
but
it's
basically
no,
please
don't
do
that,
and
so
what
we're
going
to
talk
about.
D
D
A
Not
you've
probably
seen
I
sometimes
so
often
work
with
school
or
other
event-based
runtimes,
or
something
like
this
and
in
those
you
don't
have
a
shot.
The
shutdown
function
doesn't
get
triggered
so
because
there's
nothing
shutting
down.
So
in
this
case
the
simple
spam
processor
for,
for
example,
is
better
or
otherwise
you
have
to
force
flush
things
and
work
around
the
swords,
not
in
every
case.
A
I
think
it's
the
better
solution
and
I
could
come
up
with
other
use
cases
where
the
simple
ones
would
basically
be,
or
I
would
have
the
better
performance.
So
so
you
maybe
have
seen
what
I've
written
a
command
to
for
that
command,
because
I
don't
honestly,
I
don't
buy
any
of
the
arguments.
A
There's
one
thing
people
do
something
in
java:
that's
okay,
but
that
doesn't
mean
that
you
have
to
implement
something
like
this
from
somewhere
else
and
the
way
he
described
the
shifting
around
of
the
simple
to
batch
when
batch
spam
processor
sounds
more
like
I
don't
know
technical
debt
to
me
then
or
or
a
features.
A
A
If
people
in
the
spec
team
don't
want
to
implement
this,
and
I
don't
see
there
are
so
many
there
are
so
many
environment
variables
in
there
for
things
you
probably
don't
use
or
people
don't
use,
and
I
don't.
I
simply
don't
understand
why
one
simple
environment
variable
which
for
a
component
which
is
always
used,
is
too
much.
B
This
in
the
maintainers
meeting
on
monday,
not
years,
not
this
specific
pull
request,
but
they
wanted
to
put
in
a
moratorium
on
adding
new
environment
variables.
So
I
don't
know
if
this
is.
I
don't
know
if
this
is
necessarily
a
manifestation
of
this
particular
environment
variable.
I
think
it's
more
a
manifestation
of
the
main.
The
specification
maintainers
are
recognizing
that
there
could
just
be
an
influx
of
eight
trillion
environment
variables
and
it
could
get
really
hairy
really
quickly.
B
So
I
think
their
their
idea
was
to
not
have
any
new
ones,
so
I
I'm
sure
like
that,
is
the
one
that
carlos
added
the
most
context
on.
I
remember
him
talking
about
this
in
a
meeting
on
monday,
so
it's
more
than
likely
we're
just
like
okay,
that's
enough
environment
variables.
For
now,
oh,
we
need
to
have
a
really
strong
case
to
have
a
new
one.
B
In
that
case,
a
language
environment
variable
is
totally
fine
with
me,
because
the
idea
of
behind
the
spec
is
that
you
adhere
to
the
spec
as
much
as
possible
unless
your
language
doesn't
allow
you
to,
and
it
sounds
like
in
this
case.
We
don't
want
our
language
to
allow
to
follow
the
spec
absolutely
perfectly
so,
whatever
I'm
not
gonna,
I'm
not
gonna
stop
either
of
y'all
from
using
a
language,
specific
environment
variable.
That's
totally
fine
with
me.
A
Okay,
but
now
I
understand
the
reasoning
behind
it.
Maybe
it
was
a
little
bit
poorly
worded
by
him
and
I.
B
D
Okay,
so
in
terms
of
moving
forward,
are
we
happy
to
just
switch
from
using
what
would
have
you
know
proposed
core
environment
variable
to
a
language
specific
one,
which
is,
I
stick
php
in
there
somewhere
and
proceed
yeah.
B
A
B
B
A
B
A
So
that's
when
you
see
the
character
of
the
the
exporter,
so
you
know
it's
a
guy
with
the
hunter
head
so
makes
a
little
bit
more
sense,
but
it's
pronounced
the
same
as
yoga.
My
strength.
B
All
right,
so
the
next
thing
that
we
had
on
our
agenda
was
titles
pr
about
optimizing.
The
base
php
docker
file.
I
know
I
love
this
pr
because
I've
thought
about
doing
this
so
many
times.
The
only
reason
that
I
have
not
I
had
not
done
this
before
is
because
this
doesn't
technically
follow
the
same
thing
that
our
github
action
follows
our
github
action.
I
don't
know
if
you're
are
you
familiar
with
how
github
actions
work.
B
Yeah,
so
our
github
action,
the
one
that's
labeled,
php.yamo
in
the
github
workflows,
runs
on
ubuntu
latest
and
does
you
know
it
sets
up
php?
It
does
composer
validation
and
installs
dependencies
and
check
style
and
does
all
that
stuff.
B
I
wrote
that
many
moons
ago
and
I'm
very
happy
to
I
can
see,
like
both
sides
of
this
coin,
having
the
smaller
like
more
succinct
alpine
based
docker
image
that
we
use
locally
to
do
all
this
stuff
is
going
to
reduce
a
lot
of
developer.
Friction
it's
going
to
help
it's
going
to
help
with
like
rapid
prototyping.
B
There
are
a
lot
of
really
strong
benefits
to
it.
The
negative
is
it
doesn't
follow
exactly
the
same
ci
process
as
like
the
operating
system
isn't
the
same.
A
lot
of
the
other
bits
and
pieces
aren't
exactly
the
same
as
the
github
workflow,
but
I
could
see
positives
and
negatives
for
that.
I
could
see
it
being
very
difficult
to
troubleshoot
why
something
would
work
locally
and
not
in
our
github
action.
But
theoretically-
and
this
is
theoretical-
if
we
write
new
code,
it
should
pass
for
both
of
those,
and
that
might
be
a
good
check.
B
A
Is
deviant-based
so
it's
the
same
family
but
well,
like
I
said
in
the
pull
request,
we
could
have
two
images
you
know
which
are
built
one
one
deviant,
ubuntu
based
and
one
alpine.
The
thing
for
me
is
that
I'm
having
local
kubernetes
clusters
and
all
stuff
I
play
around
with
lots
of
different
things.
You
know
when
we
have
too
much
time,
so
smaller
images
are
really
an
issue
for
me
because
it's
I
had
my
my
hard
drive
running
full
of
docker
images
at
some
time.
A
You
know,
so
I
remove
a
lot
of
them,
so
every
bit
which
every
smaller
one
is
for
me
personally
is
is
better
and
600
or
700.
Mb
is
quite
big
for
for
what
it
actually
does
so
and
in
the
github
actions.
I
don't
care,
that's
github,
to
deal
with
it,
so
I
would
propose
we
maybe
create
just
two
different
ones,
so
I
could
more
or
less
take
the
stuff.
You
know
the
setup
stuff
from
from
the
alpine
image.
A
So
it's
using
this
php
instead
of
thing,
which
is
a
little
bit
more
handy
than
using
the
the
ones
which
come
with
the
php
based
image,
and
then
we
can
have
one
debian
ubuntu
based
one
and
an
alpine
one.
So.
B
That's
totally
fine
with
me.
I
think
we
can
so
I
think
we
can
actually
think
we
can
merge
this
pr
as
it
is,
and
then,
if
you
want
to
add
an
additional
github
action,
workflow,
that's
totally
fine
with
me.
I
think
we
could
even
theoretically
get
rid
of
the
ubuntu
based
one
if
you
want,
if
you
wanted
to
opt
for
using
the
alpine
image
that
you
have
instead,
that's
totally
fine
with
me.
I
I
don't
really
have
a
super
strong
opinion
on
this.
I
was
just
giving
historical
content.
A
Yeah
me
neither
other
than
I
prefer
a
locally
a
smaller
one,
and
maybe
that
that's
just
my
impression,
but
I
think
the
the
compiling
of
the
grpc
extension
is
a
little
bit
faster
on
the
alpine
image.
But
that
could
be.
I
don't
know
if
that's
what's
just
a
feeling
that
it
felt
a
little
bit
faster
than
the.
B
I
know
from
experience
that
the
grpc
on
ubuntu
takes
absolutely
forever
to
compile,
because
I've
done
it
many
times
not
just
in
this
project
but
in
for
mailchimp
too.
So
I
again
all
in
favor
all
in
favor
of
this
pr
for
sure.
I
think
that
we
can
merge
it
as
is,
and
then
we
can
making
it.
We
can
make
an
additional
ci
check
if
we
really
want
to,
but
I
think
maybe
this
is
one
of
those
things
like.
B
Let's
just
merge
this
in
and
leave
it
as
is,
and
then,
when
we
get
to
a
point
where
something
breaks
because
of
it,
then
we'll
fix
it.
But
I
don't.
I
very
much
doubt
that
we're
going
to
run
into
like
herculean
issues
because
we're
using
an
alpine
image
locally
and
ubuntu
image
and
see,
I
think
that
it
actually
might
catch
things
that
are
important,
that
we
didn't
notice.
So.
A
Okay,
I
had
one
little
addition
to
in
mind
which
I
will
just
push
them.
I
didn't
commit
it
yet
so
then
we
can
match
the
stuff.
So
I
wanted
to
get
rid
of
this
additional
step,
which
was
just
for
debugging
for
me.
So
if
you
have
one
run
run
step,
it
basically
makes
the
image
smaller,
because
there
are
no
different
layers
in
between,
and
that
was
another
adjustment
I
wanted
to
do,
but
I
actually
I
will
do
this.
This
doesn't
take
a
lot
of
time
and
then
you
can
merge
problems.
B
E
B
B
This
I
know
that
I
know
that
some
people
have
strong
feelings
against
it.
On
the
other
side
of
the
coin,
I
know
that
there
are
going
to
be
a
lot
of
people
that
want
to
use
it,
especially
with
otlp
and
grpc.
So
I
can
see
why
we,
I
can
see,
also
see
why
we
should
make
it
required.
So
I
don't
know
I
don't
again.
I
don't
really
have
a
super
strong
opinion
on
it.
B
I
think
that
historically
we
made
it
required
because
we
felt
myself
and
some
of
the
other
previous
maintainers
felt
that
the
grpc
implementation
was
going
to
be
a
relatively
common
practice,
but
if
we
want
to
make
it
optional
and
again,
I'm
totally
okay
with
that
too.
A
Well,
I
see
two
sides
of
the
coin
as
well,
but
I
mean
you
can
work
around.
You
can
trick
composer
into
thinking.
This
extension
is
installed.
You
know
by
setting
up
this
I
don't
know,
what's
called
but
something
in
the
conflict
and
a
composer
file,
but
on
the
other
hand,.
A
It's
just
really
just
needed
for
one
of
the
exporters
at
the
moment
and
it's
a
rather
big
extension
and
they
are,
for
example,
if
you
use
openshift
this
out
of
the
box
php
environment,
then
it
just
doesn't
work
there
and
there
I
found
I
looked
there,
a
few
providers
which
actually
don't
support
this
extension
to
be
installed
so
and
there
may
be
people
who
who
use
this
providers.
We
just
don't
know
because
it's
the
library
and
I
think
it's
better
to
make
it
clear.
A
If
you
want
to
use
the
certain
exporter,
then
you
have
to
install
this
extension
and
you
can.
We
can
add
this
suggest
configuration
into
composer,
so
it
shows
up
as
suggested
if
you
install
and
then
yeah,
we
make
it
clear
if
you
want
to
use
this
exposure,
please
install
this
extension,
otherwise
you
don't
have
default
overhead
of
which
actually
of
up
to
100
megabytes.
So
that's
I
wrote
this
in
this
thing.
A
There
that's
actually
101
megabytes
on
my
phph
installation
of
my
local
computer
and
that's
really
massive
for
for
a
php
extension.
That's
I
mean
four
times
the
actually
alpine-based
energy
is
5mb.
You
know
and
that's
because.
A
A
Yeah
that's
20
times
of
that
determines
the
size
of
a
alpine
base
image,
so
yeah
yeah
I
mean
we
can
see,
then
if
somebody
complains
about
it,
then
or
but
yeah,
it's
of
course,
in
the
image
and
all
the
testing
environment
and
for
the
testing
it
must
be
required,
but
I
think
it's
the
option
with
less
friction
to
just
have
it
optional
in
the
item.
What
you
call
the
main
requirements.
A
B
E
D
A
Well,
it
will
tell
that
it's
not
finding
the
you
know,
there's
a
there's,
a
runtime
exception
or
something
or
an
error.
So
it's
not
like
people
will
wonder
that
nothing
has
happened.
So
if
they
don't
read
the
documentation-
and
I
will
put
it,
I
will
make
a
change
to
the
documentation
there
as
well,
because
there's
actually
a
lot
of
stuff
which
we
now
require
is
not
documented.
D
Yep
cool
done
because
maybe
if
we
skip
over
this
logging,
one
of
mine
we'll
leave
it
till
the
end
because
it
could
be
it's
sort
of
open-ended.
But
there's
a
couple
of
so
more
succinct.
B
All
right,
publishing,
separate
composer
packages
for
contrib
sdk.
We
didn't
we
had
a
issue
for
this,
didn't
we.
A
Did
we,
I
think
we
just
talked
in
the
symphony
issue,
about
this
and
in
other
places,
so
it's
all
over
the
place.
So
I
don't
think
there's
a
separate
one
for
this,
because
it's
specifically
needed
for
the
country
people,
but
I
think
that
there's
some
known
there
yeah,
I
think,
you're
right,
there's
somewhere,
is
a.
A
Is
it
issue
with
separating
the
pack,
the
packages
of
the
sdk
or
something
like
that.
B
B
B
A
Well,
I
think
there
was
a.
If
I
remember
correctly,
there
was
another
issue
which
basically
proposed
the
same
splitting
the
packages
or
the
the
components
of
the
sdk
or
the
library
basically
into
separate
packages
as
well,
so
that
people.
A
The
api,
or
just
the
sdk
or
and
the
country,
so
we,
but
basically,
if
we
have
one
solution
to
manage
this,
then
we
can
use
this
for
the
for
the
main
library
as
well.
So
I
think
brett.
We
talked
last
week
a
little
bit
about
this
right,
so
I
did
some
research
and
an
investigation
in
how
to
do
this.
So
maybe
I
don't
know
if
you
guys
know
how
symphony
handles
the
monorepo.
A
So
they
have
this
super
big
monorepo
where
and
they
have
a
lot
of
they
have
to
pack
different
packages
which
make
up
symphonies
or
probably
20,
30
or
something
like
this.
They
have
standalone
components
and
so
on
and
so
on,
and
they
have
what
they
just
have
a
single
motor
repo
and
then
have
a
sub
split
or
something
like
this,
which
just
mirrors
the
different
directories
to
individual
individual
repositories.
So
they
are
the
read
only.
A
You
cannot
change
anything
in
there
so
in
this
way,
and
they
can
make
sure
that
every
all
of
the
packages
always
work
all
the
with
the
same
version
of
another
one.
You
understand
what
I
mean
so
and
they're.
Basically,
there's
there's
a
solution
to
how
to
handle
this
with
with
splish.
I
think
it's
called
that's
what
symphony
created,
there's
actually
a
service
software
as
a
service
which
does
the
same
thing
and
there's
a
github
action
or
step.
It
does
the
same
thing.
A
I
fiddled
a
little
bit
around
with
all
the
solutions,
so
I
couldn't
get
the
get
up
actions
to
work,
so
maybe
I'm
too
stupid
or
it
just
doesn't
work.
Sometimes
it
happens
so,
but
maybe
both
are
true
yeah,
but
I
could
do
some
further
investigation.
The
only
thing
which
we
basically
would
need
would
be
a
another
or
a
separate
github
organization
where
we
can
host
all
these
packages.
A
B
Yeah,
I
think
I
think
adding
another
organization
gets
really
sticky
because
of
how
open
telemetry
their
licensing
and
like
how
they
use
external
repositories
or
whatever.
But
I
think
that-
and
I
think
that
you
might
get
some
pushback
from
that.
But
I
agree
with
you:
adding
20
additional
repositories.
Might
that's
probably
going
to
be
a
non-starter
in
the
open.
B
A
I
could
do
the
same.
You
know
with
my
with
my
clone
and
creator
split
there,
but
I
don't
want
to
you
know:
yeah.
A
Yeah,
exactly
because
of
on
the
other
hand,
you
know
the
repositories
for
the
packages
are
read
only,
but
they
don't
change
anything.
You
cannot
they're
not
meant
to
be.
You
know
that
you
contribute
in
the
individual
packages
or
or
repositories
there
so
they're,
basically,
just
for
the
problem
is
composer
or
more
specifically,
packages
cannot
deal
with
the
subdirectories,
so
that's
the
only
problem,
npm
or
other
package
package
managers
can
do,
but
they
work
differently
or
they
have
all
the
pros
and
cons.
A
So
that's
why
symphonies
propose
a
little
bit
faster
than
others,
but
it
basically
downloads
the
whole
zip
file
or
whatever
it
is,
and
then
you
know
expects
expect
one
package
to
be
in
there.
You
know
you
cannot
tell
it's
well,
there's
a
package
in
the
sub
directory.
It
doesn't
work.
B
So
what
the
other
thing
that
I've
noticed
in
other
cigs
is
they
tend
to
use
the
like
the
base
repository
and
the
contribute
repository
for
this
kind
of
split.
It
might
not
be
an
exact
one-to-one
mapping
of
what
you're
explaining
title,
but
it's
like
keep
the
like
very,
very
basic
bits
and
pieces
of
both
the
api
and
the
sdk
in
the
what
we
call
open,
telemetry
php
and
then
keep
everything
else
in
the
contrib
repo.
B
So
the
contribution
comes
becomes
sort
of
like
a
mono
repo
of
sorts
with
all
the
different
integration
points
and
all
the
exporters
and
all
those
things
and
like
just
keeping,
and
that
just
keeps
like
the
very,
very
main
api
and
sdk
spec
in
the
what
we
call
the
base
repo.
But
the
contrib
repo
might
not
be
perfectly
applicable
for
what
you're
talking
about,
especially
in
php.
A
Yeah
not
really
because
you
you
just
for
different
packages,
you,
sadly
you
need
a
different
repository.
So
and
I
don't
know
if
people
in
case
the
the
country
reaper
grows,
you
know
if
people
want
to
install
the
whole
package.
Where
probably
there
are,
I
don't
know
40
50
dependencies
which
have
to
be
resolved.
You
know
just
because
you
want
to
use
aws
or
symphony
or
whatever
you
probably
don't.
B
A
A
I
really
don't
know
I
can
so
I
won't
suggest
I
can
basically
for
my
repository
or
setup
demonstration
how
this
would
work.
You
know
that
that
we
have
a
solution
that
basically
would
work
with
a
github
action,
or
we
just
push
a
button
or
something
like
this,
and
we
don't
have
to
manage
all
this
different,
modern
repos,
and
when
we
find
this
work
that
works,
it
was
a
good
solution.
Then
we
can
maybe
adopt
it.
So
it's
I
think
it's
better.
We
have
a
working
example
to
talk
about
it.
A
I
just
wanted
to.
You
know,
get
a
feeling
if
anybody
has
any
idea
opinion
on
that.
So
so,
like
I
said,
I
already
did
some
investigation.
I
have
a
little
setup,
so
I
can
I
can
work
on
this,
and
sometimes
we
can
have
something
actually
to
look
at
and
we'll
just
talk
about
something.
D
I
was
just
going
to
observe
that
sort
of
doing
this
later
feels
like
we
make
the
development
easier.
You
know
what,
while
everything's
in
together
in
one
way,
but
it's
it's
it's
easy
for
us
to
develop
and
make
sure
that
dependencies
all
work
together-
and
I
was
gonna
ask-
is:
has
anybody
like?
Is
this
an
issue
that
composer
or
packages
won't
fix.
A
They
probably
won't
because
I
can
look
for
it,
but
there's
an
issue
that
I
think
it's
open,
or
maybe
it's
close
by
now
since
three
years
or
four.
Actually
people
requested
this
change
and
that's
why
I
know
about
it
and
I
can
look
for
it.
Then
you
can
go
through
all
the
history
and
know
the
closing
points
and
and
why
jordy
that's.
The
original
creator
of
proposal
opted
for
the
one
option
he's
a
very
intelligent
guy,
so
when
he
says
something
is
not
feasible,
I
tend
to
well.
A
I
maybe
look
into
it,
but
usually
he
has.
He
thinks
a
lot
about
the
things
he
does.
So
if
it
works
that's
way,
then
there's
probably
a
reason
why
it
does
it's
yeah.
They
are
up
and
down
sides
like
in
software
development.
You
know
most
most
of
the
things
that
we
call
ever
upside
in
the
downspouts.
Now
that's
how
it
is.
A
I
wrote
this
yeah
just
noticed
that
there's
a
kind
of
a
gap
between
what's
needed,
for
I
actually
created
an
issue
for
this.
So
there's
a
lot
of
information
missing
how
to
set
up
the
package
at
the
moment.
So
what
you
need
the
requirements
and
so
on
and
yeah
some
stuff,
I
think,
could
be
a
little
bit
more
compressed.
A
So
I
always
look
at
something
like
this
as
a
non-native,
english
speaker,
so
things
you
know,
if
there's
too
much,
you
know
repeating
well
in
german,
we
repeating
words
and
stuff
like
this
is
no
no.
I
know
that's
not
an
issue
in
english,
but
I
have
a
so
my
eye
is
very
trained
for
for
text
education
or
something
like
this.
You
know
because
we
we
have
to
learn
this
in
school.
A
Basically,
so
some
things,
I
think
could
be
you
know
worded
a
little
bit
more
easier
and
not
just
repeating
all
the
stuff
you
have
for
this
exporter.
You
do
you
do
this
and
that
and
then
you
know
having
the
same
explanation
for
the
next
export
and
you
can
we
just
compress
this
into
one
and
maybe,
on
the
other
hand,
in
general,
we
need
a
lot
more
documentation.
A
I
think
that's
it's
a
separate
issue,
but
yeah
yeah,
the
updating,
the
readme,
is
a
little
bit
more
pressing
because
people
just
at
the
moment
just
don't
know
how
to
really
well
there's.
No,
we
don't
really
show
how
to
set
up
the
project
with
the
psr,
http
implementation
needed
and
stuff
like
this.
B
E
A
Well,
some
things
are
are
urgent,
like
explaining
how
to
set
up
the
package.
You
know
what
you
need
and
I
already
worked
a
little
bit
on
this,
so
I
can
create
some.
You
know
first
draft
or
something
just
some
changes
and
then,
if
somebody's
interested
he
or
she
can
work
more
often
or
work
on
more
documentation
which.
B
Is
totally
I
I'm
more
than
happy
to
collaborate
with
you
on
that
too?
Maybe
I
don't
know
if
the
best
thing
to
do
there
is
to
open
an
pull
request
or
write
a
google
doc
with
the
new
with
new
readme
content
that
we
could.
I.
A
D
D
A
So
they
actually
examples
are
at
the
bottom
and
then
you
have
to
scroll
through
all
this
stuff
so
but
yeah.
So
I
will
create
a
pr
and
then
because
I'm
not
a
native
english
speaker
feel
free
to
tell
me
that
my
english
is
bad,
so
it
won't
hurt
my
feelings.
No.
D
A
B
A
A
B
A
Oh
no,
no,
we
have
lots
of
excellent
funny
words.
It's
tremendously
yeah,
because
john
there
wasn't
really
a
german
language
since
200
years
ago.
So
all
everybody
spoke
differently
and
but
at
some
point
the
thing
which
german
has
is
that
there's
a
standard
for
german
for
all
countries,
so
all
kind
of
german-speaking
countries
which
are
or
which
have
population
who
are
german,
sweden.
So
that
also
includes
belgium,
luxembourg
and
countries
like
that.
So
if
there's
a
change
to
the
grammar
or
something
like
this,
they
all
come
together
and
the
the
language.
A
So
the
language
is
persistent
over
all
countries.
So
it's
not
like
you
have
american
spelling
and
british
spelling-
and
I
don't
know
if
there's
australian,
spelling,
probably
as
well.
So
this
is
very
persistent,
but
we
have
widely
different
accents
and
all
dialects
in
german.
It's
some
song.
I
cannot
even
understand
a
lot
of
things
now,
it's
worse
than
southern
and
more
than
just
asia.
A
D
Yeah
I
did-
and
this
is
this
is
maybe
another
another
case
that
should
have
you
know,
should
have
thrown
up
some
ideas
and
some
prototype.
No,
no.
D
A
Yeah,
well,
I
totally
understand
why
people
are
going
for
for
signatures
and
stuff
like
this,
so
but
maybe
a
little
bit
background.
I've
worked
some
years
ago,
like
a
a
little
bit
consultant
freelancer.
So
I
to
work
in
very,
very
a
lot
of
different
companies
and
I've
seen
very
old
legacy,
spaghetti
code
projects
and
all
the
stuff.
A
So
there
are
some
things
which
just
where
no
ever
trade,
I
or
I
think
about
all
the
things
which
could
go
wrong
because
I've
seen
a
lot
of
things
go
wrong
or
break,
and
often
it
was
my
fault,
but
sometimes
it
wasn't
so.
But
I've
seen
a
lot
of
things
break
because
of
ideas
which
sometimes
you
know,
may
look
good
in
the
first
place,
but
then
create
different
problems.
A
You
know
later,
and
I've
often
seen
that
it's
global
state
and
has
created
a
lot
of
problems.
So
I
basically
one
client
I
was
working
for
the
big
european
company
and
they
exported
from
sap.
You
know
this
german
company,
which
does
this
business
or
enterprise
nations
and
wanted
to
export
stuff
to
magento,
which
is
another
abundant
nation.
A
So
because,
at
the
end,
when
everything
imported,
you
wanted
to
count
all
the
items
and
then
say:
oh
I
imported
200
million
items
or
something
like
this.
You
know
and
of
course,
at
some
point,
the
the
server
just
ran
out
of
memory,
because
these
magento
objects
are
huge
in
the
first
place
and
two
millions
of
them
are
a
lot,
and
I
have
a
lot
of
anecdotal
evidence
about
this,
so
I'm
always
a
bit
a
little
bit
furry.
A
When
I
see
something
like
a
single
one
or
and
like
our
roads,
you
know
they're
they're,
all
we
have
already
some
implementations
of
the
global
state
and
that's
a
problem
with
the
benchmarks
because
of
course
the
global
state
just
gets
everything
you
know
gets
instantiated
on
the
first
call
and
then
all
the
subservice
frequent
calls
it's.
The
global
state
is
already
there.
So
if
you
count
all
the
time
of
all
the
runs,
you
have
only
this
overhead
in
the
first
first
call
and
the
more
runs
you
have,
the
better.
The
time
will
get.
A
Yeah,
I'm
talking
in
generally
benchmark
so
the
ones
you
implemented,
but
but
that
would
be
true,
no
matter
who
does
it
or
or
what
implementation
you
use.
So
if
it's
the
same
process,
then
all
the
overhead,
which
is
there
usually
in
a
php
context,
because
if
you
don't
use
school
or
something
like
this,
then
you
have
this
shared
nothing.
You
know
single
threaded
fire
and
forget
process,
and
in
each
of
this
process
you
have
to
instantiate
all
these
global
things.
So
you
have
this
overhead
in
this
call.
A
But
if
you
test
in
the
same
process,
then
all
this
let's
say
bootstrap
stuff
is
already
there.
So
you
know
when
install
you
all
just
test
what
it
doesn't
you
don't
test
the
the
bootstrapping
or
something
like
this
and
that's
the
problem
with
because
because
of
global
state,
if
it
wasn't
there,
there
wouldn't
be
a
problem
to
test
it.
A
I
mean
I,
I
see
the
issue
because
it's
not
like
anybody's
fault,
you
know
this
is
because
the
project
probably
has
created.
You
know
bits
and
parts
there
and
then,
if
you
don't
have
a
configuration
in
the
first
place
and
or
dependency
injection,
something
like
this,
then
how
do
you
handle
you
know
having
this
object
and
then
referencing
them
and
other
objects?
And
you
know:
do
you
create
a
factory?
So
it's
not
like
it's
anybody's
fault,
it's
probably
just
because
how
the
package
evolved.
A
But
if
there
was
like
a
there's
actually
an
issue
for
that,
a
global
configuration
or
some
entry
point,
then
you
can
just
pass
all
the
dependencies
down
the
line.
You
know
some,
you
don't
have
you
do
you
just
don't
need
something
like
a
signature
or
a
global
state
or
something
like
this.
A
Why
and
it's
easier
if
you
code,
something
that
you
don't
have
to
put
all
these
bits
and
pieces
together,
and
I
guess
that's
the
only
reason
why
and
those
things
are
there
in
the
first
place.
D
So
maybe
you
can
answer
your
question
I
have
about
so
we've
got.
You
know,
there's
a
trade
for
logger,
aware
trait,
which
you
know
some
things
to
look
for.
Okay,
oh
I
know.
Okay,
you
will
accept
a
longer
here
is
a
logo?
Would
we
have
to
implement
that?
D
A
Well,
so
the
this
trait,
which
I
created
is
basically
just
the
implementation
of
the
interface
of
the
logo.
Psr
of
this
demo,
just
for
reusability
and
well,
it
will
create
another
logger
if
you
don't
have
a
logging
in
there.
A
The
other
thing
which
I,
if
you're,
referring
to
what
I
wrote
in
the
pr,
is
based
here
there
could
be
some
kind
of
factory
or
injector
or
something
like
this,
which
you
know,
gets
past
an
object
and
then,
if
it
sees
it
implements
this
logger
aware
interface
then
just
injects
the
logger
into
there,
so
that
I
mean
there
could
be
some
logic
behind
it
or
if
you
want
to
go
fancier,
but
this
would
be
a
easy
solution
and
we
don't
have
to
use
a
single
install.
That's
basically
would
be
my
ideas.
A
A
I
don't
know
that
three
or
four
different
things
which
users
of
the
library
or
the
sdk
should
be
able
to
configure
custom
implementations
for
you
know
so
at
some
point
we
have
to
have
to
deal
with
something
like
this,
so
in
the
configuration
and
there's
more
stuff
to
come,
so
I've
always
seen
you
know
like
a
more
like
a
global
picture
if
we
later
with
to
actually
work
with
the
logger
implementer
or
the
logger
part,
so
this
logging
there
that
doesn't
have
to
do
much
with
the
with
the
logging
part
of
open
telemetry
right.
A
So
that's
just
I
put
something
in
there,
but
and
the
idea
is
that
you
have
basically
all
of
this
working
together
so
that
you
lock
f
annotate.
Basically,
the
logging
with
trace
information.
That's
how
I
understand
it.
So
maybe
correct
me
if
I
wrong
bob,
so
I
didn't
read
too
much
into
the
logos
but
well
there's
not
much
there
yet,
but
I
think
that's
the
idea
how
it
will
work
that
you
annotate
blocks
with
trace
information
or
the
other
way
around
or
something
like
this
right.
E
A
Yeah,
I
mean
that's,
definitely
the
issue
I
wouldn't,
I
think
the
the
best
would
probably
be
if
and
users
could
very
fine
grain
brainly
special
word.
I
don't
know
if
it's
not,
then
now
it
is
and
define
which
parts
they
can.
Actually
they
want
to
have
locked
you
know
or
not
just
by
setting
setting
a
level,
but
basically
I
want
to
have
lots
for
this
part
of
the
sdk
or
not
for
the
other
one.
You
know
because
I
don't
know
logs
cannot,
you
know
have
often
too
much.
A
I
don't
know
if
you
you're
used
to
digging
through
kibana
lots,
so
sometimes
they're
just
too
many
locks,
so
you
have
to
filter
them
further
and
further
and
until
you
actually
find
what's
the
problem,
so
there
can
be
both
sides.
You
know
so
not
enough
lots
and
too
many
notes.
B
A
D
D
Sounds
crazy
well.
A
Well,
brett,
do
you
know,
have
you
worked
with
with
monologue?
Yes,
yes,
so
do
you
know
this
fingers
crossed
logo?
I
do
yeah.
So
that's
basically
you
know
it
just
if,
if
there's
not
an
error
or
something
that
critical,
then
it
won't
basically
lock,
but
if
there
is
an
error
or
critical,
something
something
like
this,
this
will
lock
everything
or
or
it
will
show
the
notices
and
something
like
this.
So
you
can
work
around
this,
but
I
I
understand
you
are
what
you're
thinking
about,
but
yeah.
A
Actually
you
don't
want
to
want
to
know
that's
a
problem,
but
on
the
other
side,
well,
the
issue
we
have
to
work
around
is
that
the
at
runtime,
the
sdk,
should
not
create
exceptions
right,
that's
in
the
specification.
So
so
we
have
to
have
one
way
to
actually
show
the
user
that
there's
a
problem.
One
is,
of
course
using
blogging
and
the
other
one
development
is
yeah,
choosing
something
else,
but
yeah
we
cannot
draw.
A
I
don't
know
if
I
think,
when
you
instantiate
the
whole,
so
at
creation
time,
it's
probably
no
problem
to
throw
exceptions.
You
know
if
you
have
a
wrong
export
or
something
like
this
is
this
true.
D
Or
because
I
think
I
think
that
is
in
respect
and
as
long
as
we
you
know,
I.
A
Time
you
run
the
code,
you
know
it's
not
something
that
will
happen
at
runtime
if
the
the
whole
setup
of
the
of
the
tracing
and
logging
doesn't
work
so
that
won't
turn
down
a
server
or
something
like
this,
so
I
think
that's
an
exception,
but
problems
which
can
occur
at
runtime
or
so
or
maybe
we
don't
want
to
for
it
just
in
any
way,
because
I
think
even
then
I
wouldn't
want.
A
Yeah,
okay.
Well,
then,
that's
probably
the
option
to
go
for
logging
and
make
it
somehow.
Well,
we
don't
have
to
solve
anything
everything
you
know
right
now,
but
sometimes
it's
such
a
complex
project
or
package,
which
you
know,
there's
a
specification.
Then
the
language
features
which
have
to
work
and
everybody's
opinion.
So
sometimes
it's
just
to
see
how
things
work
and
then
possibly
find
something
better.
A
You
know
which
is
more
suitable,
but
sometimes
it's
good
to
you
know
think
I'm
I'm
guilty
a
lot
of
times
to
overthinking
stuff,
so
I
think
of
all
the
things
which
possibly
could
happen.
So
if
I
do
too
much
of
this
and
then
feel
free
to
stop
me
because
I'm
very
very
good
at
overthinking
stuff
but
yeah,
sometimes
it's
good
to
just
think
about
what
possibly
could
happen
and
then
you
at
least
know
you
know
what
could
happen
so
you're,
not
surprised
at
the
person.
B
A
Yeah,
I
think
for
for
me
it's
oh
I've
always
have
to
think
in
p.m,
and
a.m
p.m.
P.M.
Afternoon,
right.
B
A
B
D
B
D
But
if
we
shift
it
the
other
way,
then
it's
very
late
for
you.
So
it's
it's
gotta,
be
it's
gonna,
be
bad
for
one
of
us,
but
at
least
this
gets
me
up.
E
It
changes
forwards
yeah.
I.
B
D
Me
too,
all
right
so
just
to
close
off
to
close
off
logging.
I'm
not
I'm
not
sure
where
we
landed.
I
can
try
and
sort
of
prototype
a
an
alternative
way
to
do
it
and
just
throw
up
two
pull
requests
and
yeah.
A
A
Know
it's
what's
what
I'm
looking
forward
and
as
long
as
you
don't
mind
me
complaining
about
stuff,
because
I'm
very
good
at
this
as
well
and
usually
we
berlin
people
are
very
straightforward.
So
we
don't
sugarcoat
stuff.
So
I
try
to
do
it
a
little
bit.
But
if,
if
you
know
how
we
talk
to
each
other,
you
would
probably.
B
B
A
I
think
australian
people
can
have
a
rough
language
as
well,
but
we
can
be
worse
than
that,
so
people
think
you
know
that
we
are,
you
know
unpolite,
but
for
us
we
have
a
different.
You
know
different
cultures
of
different
or
think
about
likeness
differently.
You
know
so,
for
us
is
to
recording
a
lot
of
things
just
you're
wasting
my
time.
You
know.
Do
it
try
to
trick
me?
B
I
I
feel
remiss
now.
You
taught
me
something
about
the
word
jager,
I'm
going
to
teach
you
a
southern
phrase
today,
it's
blessed,
bless
your
heart
or
bless
his
or
her
heart.
That's
a
phrase
that
we
use
here
to
basically
say
like
you're,
an
idiot
and
why
the
heck
are
you
doing
whatever
you're
doing
but.
B
To
be
said,
in
a
nice
way,
so
like
a
real,
a
perfect
example
would
be
like
you
know,
my
neighbor
decided
that
they
didn't
want
to
get
vaccinated
because
somebody
told
them
that
they
shouldn't
you
say,
bless
their
heart
like
don't
like.
A
B
A
A
We
identify
ourselves
most
of
the
time
with
our
city,
because
it
has
a
very
yeah.
We
have
a
special
history,
you
know
so
back
in
the
days
we
were
all
on
our
country,
actually
so
yeah,
but
a
lot
of
germans
have
problems
with
our
way
to
talking
as
well.
So
I
can
honestly.
B
I
have
I
have
a
turkish
german
friend
and
one
from
cologne
and
one
from
monster
and
one
from
one
from
hamburg,
and
they
all
are
very
different.
Even
though
they're
yeah.
A
Oh
hundred
people
are
most
not
all
of
them,
but
they
are
more
polite,
so
they
use
a
lot
of
sugar
coating
in
their
way
of
speaking,
not
not
all
of
them.
But
I've
worked
two
years
in
hamburg,
so
it
was
very
difficult
for
me
to
you
know,
say:
could
you
please
be
so
kind
and
pass
me
the
sugar
and
berlin?
We.
E
B
All
right,
well,
that's,
I
think.
That's
all
we
have
for
today
I'll
be
around
if
y'all
have
pull
requests.
A
Let
me
think
of
some
more
notices
to
look
some
just
optional
ideas
I
had,
but
let
me
see
if
there's
something
which
actually
sprinkled
with
that.
B
I
can
do
I
can
I
can
do
that
whenever
we
decide
we
would
like
to.
Maybe
I
usually
try
and
clear
out
all
of
the
open
pull
requests
that
are
like
pending
and
then
I
do
it
just
so
that
we
don't
have
like
merge
conflicts
or
whatever
right
beforehand.
A
A
One
thing
I'm
working
on
on
this
factory
stuff-
that's
taken
me
quite
a
while,
because
it's
kind
of
a
rabbit
hole
with
all
this
depends
or
actually.
Actually
I
wanted
to
ask
you
for
some,
I
or
I
have
some
ideas
how
to
solve
things.
So
I
wanted
to
get
a
little
bit
of
feedback.
A
So
that's
one
point
I
was
actually
missing,
so
I
opted
to
to
work
on
this
configuration
part
as
well,
because
I
think
it's
fitting
with
the
fact,
with
the
spotter
factory
involved,
to
set
up
this
stuff
and
does
anybody
have
of
you
have
a
opinion
on
how
to
do
a
configuration
or
what
package
to
use
in
php.
A
D
So
I
had
some,
I
was
actually
writing
some
prototype
code
for
go
ahead.
What
did
you
use
configuration?
I
shouldn't
use
anything
I
like
ripped
off.
Oh.
A
Yeah,
well,
you
used
to
you
used
like
a
like
a
pojol
like
a
plain
old
or
basically
for
the
otp
exporters.
D
So
so
it's
sort
of
breaking
configuration
up
into
a
couple
of
weapons,
so
it's
easy
just
to
config
type
of
an
object
which
has
different
config
providers.
So
you
could
pass
in
an
array
of
your
own
configuration
which
could
come
from
you
know,
php
array
or
json
or
yaml,
converted
to
an
array
then,
and
you've
got
like
a
what
you
call
it
like
a
a
list
or
an
array
of
providers.
D
So,
first
of
all,
you
know
if
anybody
asks
for
this
item
check
for
the
the
you
know
check
the
array
that
you
gave
me
and
then
check
for
environment
variables,
yeah.
A
That
sounds
interesting,
but
did
you
see
the
the
issue
which
what.
A
She
right
the
one
which
is,
I
don't
know
how
just
do
you
say.
Triages.
A
So
there's
this
issue
configuration
and
she
she
did
all
her
job
very
good
job,
then
listing
stuff
which
is
actually
not
implemented
yet
and
so
in
the
spec.
It's
basically.
A
Well,
formed
struct
or
something
like
this,
and
then
you
you
basically
create
or
the
whole
sdk
and
the
all
stuff
from
it.
So.
A
A
D
A
D
A
The
end
of
the
day,
those
factory
methods,
you
know,
I
like
the
single
responsibility
principle.
You
know
I
learned
it
from
uncle
bob,
not
you,
but
I
guess
the
other.
I
don't
know
if
you're
an
uncle,
but
I
mean
robert
simati
so
and
yeah
most
of
the
time.
A
It
serves
very
well
because
you
know
often
times
classes
just
make
too
much
and
then
at
the
end
of
the
day,
if
a
problem
with
maintenance,
you
know,
because
if
you
have
to
shift
too
many
things
all
around,
so
that's
often
it's
it's
a
sign
for
not
so
good
design
and
there's
something
we
have
not
thought
about
first.
So
when,
if
you
just
keep
classes,
that's
why
I
prefer
simple
cloud:
it's
not
always
possible,
but
and
so
yeah
I
would
prefer
you
know.
I
have
like
a
factory
which
has
those
factory
methods,
then
yeah.
A
Why
we
have
batteries
all
over
the
place?
We
don't
have.
No,
we
don't
have
many
factories.
We
have
a
lot
of
factory
methods,
you
know
create
objects,
but
that's
not
the
same.
So
at
the
end
of
the
day,
it
should
not
be
the
responsibility
of
a
class
or
object
to
be
its
own
factory.
You
know,
if
it's
very
simple,
then
it's
okay,
if
it's
just
basically
the
constructor.
A
Okay,
no
problem,
but
then
when
there's
too
much
logic
into
it,
then
it's
basically
doing
something
which
a
dedicated
factory
would
do
as
well
and
writing
one
class,
which
was
factory
methods.
That's
you
know
easily
done
so,
and
you
have
to
have
it
in
a
separate.
You
have
a
not
a
different
dependency,
you
know
of
the
code
which
needs
or
you
could
change
the
factory.
A
Something
like
this.
So
that's
why
it's
going
for
that
another
yeah!
Actually
with
the
fact
with
the
exporters
we
have
a
lot
of.
Basically
they
are
doing
too
much.
You
know
at
the
moment,
so
you
that's
why
I
re
did
all
this
refactoring
to
get.
Actually
I
wanted
to
understand
all
the
things
which
which
they
do.
You
know
because
it
wasn't
really
obvious
at
first
and
make
them
you
know,
use
the
trades.
So
all
the
duplicative
parts
goes
away
but
yeah.
A
Exporter,
you
know
they
have
the
same
interface
and
the
exporter
doesn't
have
to
know
what
you
know
the
basically,
the
exporter
just
have
to
handle
a
few
different
things.
It
doesn't
do
much
so
it
gets
some
a
few
of
spans.
Then
it
calls
the
transformer
thingy
to
turn
the
spans
into
destruct.
Then
you
have
maybe
a
serializer
which
in
most
of
the
cases,
json
or
maybe
something
else
whatever
you
have
to
do,
or
whatever
exporters
they
may
be
in
the
future.
A
A
A
Converter
record,
okay,
then
so
we
can
pass
in
a
converter
for
a
different
implementation.
So
for
zipkin
or
whatever
I
have
you
and
then
the
transport.
If
it's
http
is
the
http
client
and
then,
if
you
have
a
compression,
you
can
add
something
so
that
you
just
use
composition
to
create
the
exporter,
then
just
having
for
every
use
case
a
different
exporter.
You
know
what
I
mean
so
then
all
these
bits
of
pieces
could
be
individually
maintained
or
be
even
exchanged
by
users
or,
and
we
don't
have
too
much
duplicate
code.
B
Was
that
was
that
at
me,
or
at
bread
or
both
of
us
well.
A
If
you
have
any
opinions,
otherwise,
so
what
I'm
working
on
then,
is
just
a
step
towards
this,
so
I
was
I'm
all
nearly
done
with
you
know,
creating
like
http
client,
which
there
just
would
be
one
dependency
in,
and
the
exporters
not
have
all
the
three
different
ones-
and
this
was
would
be
basically
a
first
step
in
that
direction,
and
then
we
can
still
look
if
what
else
we
do
or
yeah,
but
I
kept
the
whole
configuration
issue
as
well
a
little
bit
in
the
back
of
her
mind
because
the
problem
you
know
brad,
which
your
implementation
was.
A
I
created
this
this
this
issue.
We
know
which
tracks
the
dependency
of
components
in
one
direction
and
the
real
problem
is
that
the
contrib
repository
or
otherwise
the
sdk
cannot
have
a
dependency
on
the
country
part.
So
so
the
problem
is,
we
have
all
these
factories
all
these
exporters
in
the
country
park
and
there
could
be
so.
There
must
be
a
way
for
the
factories
so
that
the
the
exporters
basically
tell
the
factory
I'm
here
and
I'm.
A
D
A
Or
a
registry,
or
something
like
this,
this
is
actually
what
I'm
working
on
and
because
and
there's
no
real
best
solution.
So
the
one
thing
which
I
will
probably
end
with
and
then
you
can
tell
me
that
it's
totally
wrong
is
that
the
under
the
class
definitions
will
be
just
the
one
static
call
to
the
factory
in
which
says
so,
I'm
the
exporter
and
I
want
I
want
you
to
be
able
to
instantiate
me.
You
know
when
someone
puts
in
there.
This
is
my
confirmation.
A
A
Well,
actually,
there's
no
real
way
around
it
other
we
could
put
the
factory
in
the
contract
repository,
but
then
the
factory
can
also
instantiate
between
you
know
the
stuff,
godzilla
logo
and
the
console
exporter
and
logger,
export
and
stuff.
Like
the
maybe
other
stuff,
we
have
more
down
the
line
so
yeah.
That's
why
it's
taken
me
a
while,
because
it's
a
little
bit,
it's
a
rabbit,
hole
and
there's
no
real
best
solution.
A
A
The
same
a
little
bit,
but
I
can
never
look
but
yeah.
I
will
see
if
it's
helpful.
A
B
As
well,
I've
also-
I
know-
I
know
a
lot
of
us.
Don't
aren't
very
social,
but
I've
found
that
if
I
go
and
ask
other
cigs
questions
about
why
they
implemented
a
certain
strategy.
That
tends
to
be
super
helpful
too.
So
like,
for
example,
you
go
and
look
at
the
the
python
implementation,
and
you
have
a
question.
If
you
go
to
the
python
channel
they'll
be
very,
very
quick
to
respond
as
to
why
they
perform
the
certain
action
because
they
want
to
kind
of
defend
it.
A
A
Oh
yeah,
one
one
thing:
if
we,
maybe
you
want
to
introduce
some
more
style
requirements,
that's
one
thing,
because
I've
seen
sometimes
methods
are
written
a
little
bit
differently
and
I
think
we
use
more
postcard
case
or
chemicals
I
can
don't
know
which
there
do.
You
know
what
I
mean.
Then
I've
seen
yeah.
A
And
I
personally,
I
don't
care
what
the
style
is,
because
I
remember
the
style
was
in
php
years.
Back
again,
I
was
on
the
curly
braces
on
the
same
line
camp
and
we
lost
so
I'm
I'm
already
using
this
stuff.
I
don't
like
well,
I'm
used
to
it
now,
but
I
personally
don't
care
what
it
is.
Just
that
there's
a
some
sort
sort
of
style,
because
it
just
makes
reading
easier.
A
You
know
with
you
and
the
same
goes
a
little
bit
for
the
past,
because
everybody
I've
seen
has
their
own
way
of
writing
testing
some.
Some
people
use
the
test
annotation
in
php
women.
Some
start
the
method
was
test.
That's
what
I
do,
then
other
people
use
underscores-
and
it
just
makes,
reading
the
tests
a
little
very
difficult
if
everybody
uses
a
different
style.
B
Yeah,
perhaps
we
can
decide
as
a
group
which
style
we'd
like
to
use
and
slowly
move
things
towards
that
style.
I
that
that's
most
likely
my
fault,
I
probably
should
have
been
a
little
bit.
I'm
trying
to
have
a
careful
balance
of
enforcing
all
sorts
of
different
idioms
and
like
just
still
making
positive
progress,
but
yeah.
A
I
mean
they
can
be
very
strict
style
symphony,
for
example,
has
super
strict
rules
for
their
style?
If
you
look
at
it,
that's
like
a
hundred
more
than
the
psr
requirements,
there's
a
rule
for
everything,
but
we
don't
have
to
make
it
so
strict,
but
some
things
would
just
improve
readability,
I
think,
would
be
don't
hurt
anybody
and
if
the
fixer
can
fix
it
anyway,
then
so.
B
A
B
A
Now
I
have
one
thing
which
it's
a
little
bit
in
that
direction.
I
actually
forgot
the
off
two
more
issues,
so
I
try
to
make
it
quick.
One
is:
have
you
ever
heard
of
a
rectal
package,
so
rector
is.
A
Yes,
exactly
this
one,
so
a
lot
of
parts
of
the
base
at
the
moment
are
based
on
php
73.
So
there
is
no
strict
typing
properties
and
stuff
like
this,
and
with
rector
you
can
actually
on
the
fly,
fix
all
these
issues
and
you
can
roll
it
back
in
case
you
mess
something
up,
but
it
can
fix
a
lot
of
stuff.
You
can
take
a
php
eight
one
code
base
and
turn
it
into
seven.
Four,
on
the
other
way
around.
A
You
can
fix
a
lot
of
things
automatically,
so
I
played
a
little
bit
around
with
it
just
to
fix
some
issues,
so
I
can
could
create
a
pull
request
for
that.
For
just
you
know,
adding
strict
typing
for
properties
and
then
maybe
everybody
can
have
a
look
at
the
project
and
we
can
think
of
what
else
we
can
fix
with
that.
It
can
do
a
lot
of
stuff
so
whatever,
and
if
something's
not
there.
A
You
can
write
your
own
implementation
for
something,
but
it's
very
powerful
and
you
can
always
and
for
everything
you
change,
there's,
usually
a
revert
method,
so
I
mean
it
would
get
it's
no
problem
anyway.
To
revert
something,
but
even
if
you
know
just
trying
something
or
want
to
have
something
consistent,
so
it's
very
powerful
tool
for
stuff
which
would
couldn't
not
even
I
mean
phpstorm
is
very
powerful
with
refactoring,
but
the
rector
can
do
stuff
which
even
on
php
song,
cannot
do
at
the
moment.
B
A
Yeah
and
the
other
thing
is
I've
seen
there
is
a
scrutinizer
configuration
in
the
in
the
the
repository,
so
I
yeah,
I
guess
it's
not
used
because
I
checked
and
scrutinized.
I
cannot
deal
with
grpc
extension,
so
the
bill
just
crashes
at
some
point,
so
my
suggestion
is,
would
be.
Oh,
I
actually.
A
B
Yeah,
I
I
agree
with
you:
there's
probably
a
lot
of
really
great
tools
that
we
can
use
for
code
quality.
But
again,
as
I
think
we
were
trying
to
work
like
in
somewhere
in
between
the
middle
of
the
developer,
velocity
and
code
quality.
And
that
was
the
point
behind
having
psalm
and
php
stand
and.
A
Well,
I
can.
I
can
make
some
just
some
poor
question.
If
you
don't
like
it
or
we
can
have
a
discussion.
If
this
you
know
it's
useful,
then
it
doesn't.
You
know
what
I
mean
is
we
don't?
It
doesn't
mean
that
we
have
to
check
for
issues
and
code
quality,
but
sometimes
it's
better
to
have
a
tool
to
point
something
out.
Then
you
know
it
doesn't
hurt
somebody's
feelings
or
more
often
you
know
it's
just
things
like
psychological
complexity.
A
You
know
when
there's
just
a
method
to
complicate
it
or
you
using
something
which
is
regarded
as
not
safe
or
something
like
this.
So
it's
often,
then
you
can
well.
There
are
little
issues
which
people
you
know
can
just
fix,
or
I
think
courtesy
or
something
or
they
you
know,
give
estimation
time
estimation.
Oh
this
just
needs
three
minutes
to
fix
people.
A
I
don't
mean
that
we
put
it
in
the
ci
and
say:
oh
if,
if
the
the
code
complexity
is
not
12,
then
you
cannot
merge
this
request,
but
there
are
some
some
a
lot
of
tools.
Maybe
can
all
if
you
have
a
look
at
this
page,
which
lists
a
lot
of
different
call,
qa
tools
or
very
different
ones,
so
some
some
are
a
little
bit
outdated.
So
not
everything
is
still
maintained
there,
but
they're
very
different,
interesting.
A
B
B
Very
good
this
this
this
website
is
worth
its
weight
in
gold,
because
I'm
seeing
a
lot
of
other
things
that
I
might
want
to
implement,
not
just
for
this
project,
but
for
other
ones.
Yeah.
A
Yeah,
that's
like
my
go-to
place
when
I
have
to,
and
there
are
so
many
photos
most
of
them.
I
forget,
so
I'm
not
very
good
with
names,
especially
not
in
the
software
world,
where
everybody
has
fancy
names.
Okay,
anything
else.
B
A
Yeah
then
we
can
try
if
everything
works,
so
this
was
just
you
know.
I
saw
that
there
was
8.1
was
published,
so
I'm
yeah
if
it
works,
it
works.
Okay,
oh
one
thing
more
thing:
I've
do
you
mind
if
we
put
the
integration
test
and
the
unit
test
into
different
parts
so
that
they
run
differently
because
at
the
moment
I
know
this
will
probably
create
problems
with
the
code
coverage,
but
I
think
on
the
other
way
at
the
moment,
I
think
we
don't
really
know
because
the
integration
tests
you
know
test
everything.
A
A
Some
tests
in
the
unit
tests
are
actually
more
like
integration
tests,
so
I
have
well
not
strong
opinions,
but
I'm
a
purist
once
come
to
testing.
I
walk
away
everything.
I
understand:
that's
not
everybody's
pair
of
shoes
but
yeah.
I
don't
know
if
it's
if
there's
false
positives
or
negatives
or,
however,
you
will
call
it
probably
it
doesn't
have
to
be
basically.
B
D
I
mean
I
do
have
an
opinion
on
integration
tests,
which
is
they're
a
really
good
way
to
get
basically
do
black
box
testing
and
test
at
least
your
happy
path
and
yeah.
I
know
I
mean
with
every
coverage.
A
I
would
yeah,
I
didn't
want
to
say
anything
against
integration.
Parts
are
very
important,
so,
but
it's
if
you
run
them
at
the
same
time.
The
unit
tests-
you
you
don't.
A
Yeah,
I'm
all
for
testing
everything.
Integration
tests
end
to
end
tests,
and
so
I'm
I'm
a
nerd
once
come
to
testing.
But
I've
seen
there's
problems
when
you
run
all
the
tests
at
the
same
time
because
they
have
different
levels,
what
they
actually
test.
You
know
and
you
need
all
of
those
tests.
That's
for
sure.
So
if
you
don't
integration
tests,
then
you
just
test.
A
If
individual
bits
and
pieces
work-
and
you
don't
know
the
whole
system
and
the
other
way
around
so
but
but
if
we
run
them
together,
then
the
code
coverage
just
just
also
covers
what
what
is
run
in
the
integration
test,
because
php
unit
doesn't
know
what
actually
is
or
actually
the
the
code
coverage
thinking
of
php
unit
doesn't
know
what
actually
is
possible.
A
The
problem
is
yeah
like
I
said
it
will
probably
create
some
issues
with
the
code
coverage,
because
I
guess
there
are
some,
but
I
will
I
volunteered
to
make
it
all
green
again
so
to
actually
have
real
code
coverage,
so
I
have
no
problem
with
writing
tests,
so
I
can
yeah
so
the
same
as
there's
something
some
things.
A
lot
of
developers
don't
like
to
do
like
refactoring
writing
tests
so
I'll.
For
some
reason
I
like
to
especially
refracting,
I
like
it
just
when
something
gets
cleaner
and
more
more
efficient
or
easier
readable.
A
Okay,
thank.
A
That's
no
effort
at
all
for
me,
so
sometimes
a
little
bit
tricky
when
there's,
but
I
really
enjoyed
this.
You
know
enjoy
making
a
code
because
I've
seen
we
all
know
the
you
know
we
can
fix
this
later
problem
and
I've
seen
way
too
often
in
my
career
that
nobody
fixes
anything
later.
So
I
I
created
well,
I
made
myself
enjoy
refactoring
so
that
things
will
become
easier
later.