1+
2+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4+
5+ < html xmlns ="http://www.w3.org/1999/xhtml " lang ="Python ">
6+ < head >
7+ < meta http-equiv ="X-UA-Compatible " content ="IE=Edge " />
8+ < meta http-equiv ="Content-Type " content ="text/html; charset=utf-8 " />
9+ < title > opencensus.trace.execution_context — OPENCENSUS 0.0.1 documentation</ title >
10+ < link rel ="stylesheet " href ="../../../_static/alabaster.css " type ="text/css " />
11+ < link rel ="stylesheet " href ="../../../_static/pygments.css " type ="text/css " />
12+ < script type ="text/javascript " id ="documentation_options " data-url_root ="../../../ " src ="../../../_static/documentation_options.js "> </ script >
13+ < script type ="text/javascript " src ="../../../_static/jquery.js "> </ script >
14+ < script type ="text/javascript " src ="../../../_static/underscore.js "> </ script >
15+ < script type ="text/javascript " src ="../../../_static/doctools.js "> </ script >
16+ < script async ="async " type ="text/javascript " src ="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML "> </ script >
17+ < link rel ="index " title ="Index " href ="../../../genindex.html " />
18+ < link rel ="search " title ="Search " href ="../../../search.html " />
19+
20+ < link rel ="stylesheet " href ="../../../_static/custom.css " type ="text/css " />
21+
22+
23+ < meta name ="viewport " content ="width=device-width, initial-scale=0.9, maximum-scale=0.9 " />
24+
25+ </ head > < body >
26+
27+
28+ < div class ="document ">
29+ < div class ="documentwrapper ">
30+ < div class ="bodywrapper ">
31+
32+
33+ < div class ="body " role ="main ">
34+
35+ < h1 > Source code for opencensus.trace.execution_context</ h1 > < div class ="highlight "> < pre >
36+ < span > </ span > < span class ="c1 "> # Copyright 2017, OpenCensus Authors</ span >
37+ < span class ="c1 "> #</ span >
38+ < span class ="c1 "> # Licensed under the Apache License, Version 2.0 (the "License");</ span >
39+ < span class ="c1 "> # you may not use this file except in compliance with the License.</ span >
40+ < span class ="c1 "> # You may obtain a copy of the License at</ span >
41+ < span class ="c1 "> #</ span >
42+ < span class ="c1 "> # http://www.apache.org/licenses/LICENSE-2.0</ span >
43+ < span class ="c1 "> #</ span >
44+ < span class ="c1 "> # Unless required by applicable law or agreed to in writing, software</ span >
45+ < span class ="c1 "> # distributed under the License is distributed on an "AS IS" BASIS,</ span >
46+ < span class ="c1 "> # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</ span >
47+ < span class ="c1 "> # See the License for the specific language governing permissions and</ span >
48+ < span class ="c1 "> # limitations under the License.</ span >
49+
50+ < span class ="kn "> import</ span > < span class ="nn "> threading</ span >
51+
52+ < span class ="kn "> from</ span > < span class ="nn "> opencensus.trace.tracers</ span > < span class ="k "> import</ span > < span class ="n "> noop_tracer</ span >
53+
54+ < span class ="n "> _thread_local</ span > < span class ="o "> =</ span > < span class ="n "> threading</ span > < span class ="o "> .</ span > < span class ="n "> local</ span > < span class ="p "> ()</ span >
55+
56+
57+ < div class ="viewcode-block " id ="get_opencensus_tracer "> < a class ="viewcode-back " href ="../../../trace/api/execution_context.html#opencensus.trace.execution_context.get_opencensus_tracer "> [docs]</ a > < span class ="k "> def</ span > < span class ="nf "> get_opencensus_tracer</ span > < span class ="p "> ():</ span >
58+ < span class ="sd "> """Get the opencensus tracer from thread local."""</ span >
59+ < span class ="k "> return</ span > < span class ="nb "> getattr</ span > < span class ="p "> (</ span > < span class ="n "> _thread_local</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'tracer'</ span > < span class ="p "> ,</ span > < span class ="n "> noop_tracer</ span > < span class ="o "> .</ span > < span class ="n "> NoopTracer</ span > < span class ="p "> ())</ span > </ div >
60+
61+
62+ < div class ="viewcode-block " id ="set_opencensus_tracer "> < a class ="viewcode-back " href ="../../../trace/api/execution_context.html#opencensus.trace.execution_context.set_opencensus_tracer "> [docs]</ a > < span class ="k "> def</ span > < span class ="nf "> set_opencensus_tracer</ span > < span class ="p "> (</ span > < span class ="n "> tracer</ span > < span class ="p "> ):</ span >
63+ < span class ="sd "> """Add the tracer to thread local."""</ span >
64+ < span class ="nb "> setattr</ span > < span class ="p "> (</ span > < span class ="n "> _thread_local</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'tracer'</ span > < span class ="p "> ,</ span > < span class ="n "> tracer</ span > < span class ="p "> )</ span > </ div >
65+
66+
67+ < span class ="k "> def</ span > < span class ="nf "> set_opencensus_attr</ span > < span class ="p "> (</ span > < span class ="n "> attr_key</ span > < span class ="p "> ,</ span > < span class ="n "> attr_value</ span > < span class ="p "> ):</ span >
68+ < span class ="c1 "> # If there is no attrs, initialize it to empty dict.</ span >
69+ < span class ="n "> attrs</ span > < span class ="o "> =</ span > < span class ="nb "> getattr</ span > < span class ="p "> (</ span > < span class ="n "> _thread_local</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'attrs'</ span > < span class ="p "> ,</ span > < span class ="p "> {})</ span >
70+
71+ < span class ="n "> attrs</ span > < span class ="p "> [</ span > < span class ="n "> attr_key</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> attr_value</ span >
72+
73+ < span class ="nb "> setattr</ span > < span class ="p "> (</ span > < span class ="n "> _thread_local</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'attrs'</ span > < span class ="p "> ,</ span > < span class ="n "> attrs</ span > < span class ="p "> )</ span >
74+
75+
76+ < span class ="k "> def</ span > < span class ="nf "> get_opencensus_attr</ span > < span class ="p "> (</ span > < span class ="n "> attr_key</ span > < span class ="p "> ):</ span >
77+ < span class ="n "> attrs</ span > < span class ="o "> =</ span > < span class ="nb "> getattr</ span > < span class ="p "> (</ span > < span class ="n "> _thread_local</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'attrs'</ span > < span class ="p "> ,</ span > < span class ="kc "> None</ span > < span class ="p "> )</ span >
78+
79+ < span class ="k "> if</ span > < span class ="n "> attrs</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
80+ < span class ="k "> return</ span > < span class ="n "> attrs</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="n "> attr_key</ span > < span class ="p "> )</ span >
81+
82+ < span class ="k "> return</ span > < span class ="kc "> None</ span >
83+
84+
85+ < span class ="k "> def</ span > < span class ="nf "> get_current_span</ span > < span class ="p "> ():</ span >
86+ < span class ="k "> return</ span > < span class ="nb "> getattr</ span > < span class ="p "> (</ span > < span class ="n "> _thread_local</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'current_span'</ span > < span class ="p "> ,</ span > < span class ="kc "> None</ span > < span class ="p "> )</ span >
87+
88+
89+ < span class ="k "> def</ span > < span class ="nf "> set_current_span</ span > < span class ="p "> (</ span > < span class ="n "> current_span</ span > < span class ="p "> ):</ span >
90+ < span class ="nb "> setattr</ span > < span class ="p "> (</ span > < span class ="n "> _thread_local</ span > < span class ="p "> ,</ span > < span class ="s1 "> 'current_span'</ span > < span class ="p "> ,</ span > < span class ="n "> current_span</ span > < span class ="p "> )</ span >
91+
92+
93+ < div class ="viewcode-block " id ="clear "> < a class ="viewcode-back " href ="../../../trace/api/execution_context.html#opencensus.trace.execution_context.clear "> [docs]</ a > < span class ="k "> def</ span > < span class ="nf "> clear</ span > < span class ="p "> ():</ span >
94+ < span class ="sd "> """Clear the thread local, used in test."""</ span >
95+ < span class ="n "> _thread_local</ span > < span class ="o "> .</ span > < span class ="vm "> __dict__</ span > < span class ="o "> .</ span > < span class ="n "> clear</ span > < span class ="p "> ()</ span > </ div >
96+ </ pre > </ div >
97+
98+ </ div >
99+
100+ </ div >
101+ </ div >
102+ < div class ="sphinxsidebar " role ="navigation " aria-label ="main navigation ">
103+ < div class ="sphinxsidebarwrapper ">
104+ < h1 class ="logo "> < a href ="../../../index.html "> OPENCENSUS</ a > </ h1 >
105+
106+
107+
108+
109+
110+
111+
112+
113+ < h3 > Navigation</ h3 >
114+ < ul >
115+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../../trace/usage.html "> OpenCensus Trace for Python</ a > </ li >
116+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../../trace/api/index.html "> API Documentation</ a > </ li >
117+ </ ul >
118+
119+ < div class ="relations ">
120+ < h3 > Related Topics</ h3 >
121+ < ul >
122+ < li > < a href ="../../../index.html "> Documentation overview</ a > < ul >
123+ < li > < a href ="../../index.html "> Module code</ a > < ul >
124+ </ ul > </ li >
125+ </ ul > </ li >
126+ </ ul >
127+ </ div >
128+ < div id ="searchbox " style ="display: none " role ="search ">
129+ < h3 > Quick search</ h3 >
130+ < div class ="searchformwrapper ">
131+ < form class ="search " action ="../../../search.html " method ="get ">
132+ < input type ="text " name ="q " />
133+ < input type ="submit " value ="Go " />
134+ < input type ="hidden " name ="check_keywords " value ="yes " />
135+ < input type ="hidden " name ="area " value ="default " />
136+ </ form >
137+ </ div >
138+ </ div >
139+ < script type ="text/javascript "> $ ( '#searchbox' ) . show ( 0 ) ; </ script >
140+ </ div >
141+ </ div >
142+ < div class ="clearer "> </ div >
143+ </ div >
144+ < div class ="footer ">
145+ ©2017, OpenCensus Authors.
146+
147+ |
148+ Powered by < a href ="http://sphinx-doc.org/ "> Sphinx 1.8.1</ a >
149+ & < a href ="https://github.com/bitprophet/alabaster "> Alabaster 0.7.11</ a >
150+
151+ </ div >
152+
153+
154+
155+
156+ </ body >
157+ </ html >
0 commit comments