OpenCensus extension for Azure Functions
Project description
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 <project_root>/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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file opencensus-extension-azure-functions-1.0.0.tar.gz
.
File metadata
- Download URL: opencensus-extension-azure-functions-1.0.0.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d55e73e594c386920558134c5ec8b1cf0de24a768a39711aed650e23cd1a839 |
|
MD5 | 53f8a6439bd49cba568021a3f48a8230 |
|
BLAKE2b-256 | b669388dc77bd4535d51019ef26a815b4c3c76eda806eaa334d52a45461c4e37 |
File details
Details for the file opencensus_extension_azure_functions-1.0.0-py2.py3-none-any.whl
.
File metadata
- Download URL: opencensus_extension_azure_functions-1.0.0-py2.py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 2, Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d480a979ee07c7a50ab072d2712aa18782667fafe242928863cd13eba111f9b |
|
MD5 | 69725311b1ada4edf6e676920551554d |
|
BLAKE2b-256 | d8a4eb2f99051ccc008a94d183bf5459fdcd86d9179c0c667e1e6f8083e9b5fe |