Installation
pip install opencensus-extension-azure-functions
Prerequisites
Install azure-functions-core-tools or Azure Functions vscode-extension.
How To Use In Python Functions
Use func init --python or VSCode Extensions Blade -> Azure -> Functions -> Create New Project... to create a Python function app.
Use func new -a anonymous -t HttpTrigger -n HttpTrigger to create an anonymous Http trigger in your function app. If you’re using VSCode, the project creation wizard will guide you through the same process.
Include opencensus-extension-azure-functions and requests to your requirements.txt.
In local.settings.json, add new settings "PYTHON_ENABLE_WORKER_DEPENDENCIES": "1" and "APPLICATIONINSIGHTS_CONNECTION_STRING": "InstrumentationKey=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee". You can acquire your appinsights instrumentation key from your Azure Application Insights resource.
- Set up a virtual environment for your local development
Create a virtual environment with py -3.7 -m venv .venv in Windows or python3.7 -m venv .venv in Unix-like systems.
Activate the virtual environment with .venv\Scripts\Activate.ps1 in Windows PowerShell or source .venv/bin/activate in Unix-like systems.
Change the HTTP trigger file in
/HttpTrigger/__init__.py to enable the OpenCensus tracing integration.
import json
import logging
from opencensus.extension.azure.functions import OpenCensusExtension
logger = logging.getLogger('HttpTriggerLogger')
OpenCensusExtension.configure()
def main(req, context):
logger.info('Executing HttpTrigger with OpenCensus extension')
# You must use context.tracer to create spans
with context.tracer.span("parent"):
logger.info('Message from HttpTrigger')
return json.dumps({
'method': req.method,
'ctx_func_name': context.function_name,
'ctx_func_dir': context.function_directory,
'ctx_invocation_id': context.invocation_id,
'ctx_trace_context_Traceparent': context.trace_context.Traceparent,
'ctx_trace_context_Tracestate': context.trace_context.Tracestate,
})
Run it in your local development environment by func host start --verbose in Core Tools or hitting F5 in VSCode.
You should now be able to check the trace information in your Application Insight -> Investigate -> Application Map.
To use Opencensus Python Extensions in other scenarios, please visit our example folder
References
Metadata
Release files for opencensus-extension-azure-functions 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| opencensus-extension-azure-functions-1.0.0.tar.gz | 4.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| opencensus_extension_azure_functions-1.0.0-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 13.9 kB
Release files / opencensus-extension-azure-functions-1.0.0.tar.gz
| Download URL | opencensus-extension-azure-functions-1.0.0.tar.gz |
|---|---|
| Size | 4.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8d55e73e594c386920558134c5ec8b1cf0de24a768a39711aed650e23cd1a839
|
|
BLAKE2b-256 checksum How to use checksums |
b669388dc77bd4535d51019ef26a815b4c3c76eda806eaa334d52a45461c4e37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.9
|
Release files / opencensus_extension_azure_functions-1.0.0-py2.py3-none-any.whl
| Download URL | opencensus_extension_azure_functions-1.0.0-py2.py3-none-any.whl |
|---|---|
| Size | 9.3 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
9d480a979ee07c7a50ab072d2712aa18782667fafe242928863cd13eba111f9b
|
|
BLAKE2b-256 checksum How to use checksums |
d8a4eb2f99051ccc008a94d183bf5459fdcd86d9179c0c667e1e6f8083e9b5fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.9
|