Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Pump, Cedric
lab-tracing
Commits
35b630a3
Commit
35b630a3
authored
Mar 06, 2021
by
Nane Kratzke
Browse files
Distributed tracing?
parent
95d7a4c3
Changes
1
Hide whitespace changes
Inline
Side-by-side
hiphop/service.py
View file @
35b630a3
from
flask
import
Flask
,
redirect
,
request
from
flask
import
Flask
,
redirect
,
request
import
requests
,
os
,
logging
,
json
import
requests
,
os
,
logging
,
json
from
elasticapm.contrib.flask
import
ElasticAPM
import
elasticapm
from
elasticapm.utils.disttracing
import
TraceParent
# A very boring and basic hip-hop-service to demonstrate
# A very boring and basic hip-hop-service to demonstrate
# observability via tracing across multiple services.
# observability via tracing across multiple services.
...
@@ -10,7 +11,7 @@ logging.basicConfig(level=logging.INFO)
...
@@ -10,7 +11,7 @@ logging.basicConfig(level=logging.INFO)
service
=
os
.
environ
.
get
(
'HIPHOP'
,
'hiphop'
)
service
=
os
.
environ
.
get
(
'HIPHOP'
,
'hiphop'
)
tier
=
int
(
os
.
environ
.
get
(
'TIER'
,
'1'
))
tier
=
int
(
os
.
environ
.
get
(
'TIER'
,
'1'
))
app
=
Flask
(
__name__
)
app
=
Flask
(
__name__
)
apm
=
E
lastic
APM
(
app
,
service_name
=
service
)
client
=
e
lastic
apm
.
Client
(
service_name
=
service
)
@
app
.
route
(
'/'
)
@
app
.
route
(
'/'
)
def
index
():
def
index
():
...
@@ -19,6 +20,8 @@ def index():
...
@@ -19,6 +20,8 @@ def index():
@
app
.
route
(
'/hip'
)
@
app
.
route
(
'/hip'
)
def
hip
():
def
hip
():
logging
.
info
(
f
"Request from
{
request
.
remote_addr
}
with headers
{
json
.
dumps
(
dict
(
request
.
headers
))
}
"
)
logging
.
info
(
f
"Request from
{
request
.
remote_addr
}
with headers
{
json
.
dumps
(
dict
(
request
.
headers
))
}
"
)
trace_parent
=
TraceParent
.
from_headers
(
request
.
headers
)
client
.
begin_transaction
(
"main"
,
trace_parent
=
trace_parent
)
r
=
""
r
=
""
url
=
f
"http://
{
service
}
-
{
tier
+
1
}
/hip"
url
=
f
"http://
{
service
}
-
{
tier
+
1
}
/hip"
try
:
try
:
...
@@ -28,6 +31,8 @@ def hip():
...
@@ -28,6 +31,8 @@ def hip():
r
=
"END"
r
=
"END"
hip
=
"hip "
if
tier
==
1
else
""
hip
=
"hip "
if
tier
==
1
else
""
client
.
end_transaction
()
return
f
"
{
hip
}
hop-
{
tier
}
->
{
r
}
"
.
strip
()
return
f
"
{
hip
}
hop-
{
tier
}
->
{
r
}
"
.
strip
()
app
.
run
(
host
=
"0.0.0.0"
,
port
=
80
)
app
.
run
(
host
=
"0.0.0.0"
,
port
=
80
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment