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
Hashes for opencensus-extension-azure-functions-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d55e73e594c386920558134c5ec8b1cf0de24a768a39711aed650e23cd1a839 |
|
MD5 | 53f8a6439bd49cba568021a3f48a8230 |
|
BLAKE2b-256 | b669388dc77bd4535d51019ef26a815b4c3c76eda806eaa334d52a45461c4e37 |
Hashes for opencensus_extension_azure_functions-1.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d480a979ee07c7a50ab072d2712aa18782667fafe242928863cd13eba111f9b |
|
MD5 | 69725311b1ada4edf6e676920551554d |
|
BLAKE2b-256 | d8a4eb2f99051ccc008a94d183bf5459fdcd86d9179c0c667e1e6f8083e9b5fe |