Skip to content

Commit f7a6392

Browse files
committed
Add a simple example.
1 parent b025d3c commit f7a6392

1 file changed

Lines changed: 51 additions & 0 deletions

File tree

examples/simple.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import os
2+
from sqlalchemy import MetaData, Table, Integer, String, Column, create_engine
3+
from sqlalchemy import select
4+
from sqlalchemy.schema import CreateTable
5+
6+
import lightstep
7+
import sqlalchemy_opentracing
8+
9+
DB_LOCATION = '/tmp/simple.db'
10+
11+
tracer = lightstep.Tracer(
12+
component_name='sqlalchemy-simple',
13+
access_token='{your_lightstep_token}'
14+
)
15+
16+
17+
if __name__ == '__main__':
18+
os.remove(DB_LOCATION) # cleanup
19+
20+
engine = create_engine('sqlite:///%s' % DB_LOCATION)
21+
conn = engine.connect()
22+
23+
sqlalchemy_opentracing.init_tracing(tracer)
24+
sqlalchemy_opentracing.register_connectable(engine)
25+
26+
span = tracer.start_span('create sample')
27+
28+
# 1. Create a table
29+
metadata = MetaData()
30+
users = Table('users', metadata,
31+
Column('id', Integer, primary_key=True),
32+
Column('name', String),
33+
)
34+
span = tracer.start_span('create sample')
35+
creat = CreateTable(users)
36+
sqlalchemy_opentracing.set_parent_span(creat, span)
37+
conn.execute(creat)
38+
39+
# 2. Insert a single value.
40+
ins = users.insert().values(name='John Doe', id=1)
41+
sqlalchemy_opentracing.set_parent_span(ins, span)
42+
conn.execute(ins)
43+
44+
# 3. Select the new value.
45+
sel = select([users])
46+
sqlalchemy_opentracing.set_parent_span(sel, span)
47+
print conn.execute(sel).fetchone()
48+
49+
span.finish()
50+
tracer.flush()
51+

0 commit comments

Comments
 (0)