Azure Functions is a serverless computing service provided by Microsoft Azure that enables developers to build and deploy event-driven, scalable, and pay-per-execution functions or small pieces of code without the need to manage and provision infrastructure. These functions can be triggered by various events like HTTP requests, database changes, or messages in a queue.
The scope of this issue is to deliver an OOTB integration for Azure Functions that collects logs and metrics both.
-
FunctionExecutionCount - Function execution count indicates the number of times your function app has executed. This value correlates to the number of times a function runs in your app.
-
FunctionExecutionUnits - Function execution units are a combination of execution time and your memory usage.
-
Response Time - The time taken for the app to serve requests, in seconds.
-
Average memory working set - The average amount of memory used by the app.
-
Connections - The number of bound sockets existing in the sandbox (w3wp.exe and its child processes).
-
CPU Time - The amount of CPU consumed by the app, in seconds.
-
Current Assemblies - The current number of Assemblies loaded across all AppDomains in this application.
-
Data In - The amount of incoming bandwidth consumed by the app.
-
Data Out - The amount of outgoing bandwidth consumed by the app.
-
File System Usage - The amount of usage in bytes by storage share.
-
Gen 0 Garbage Collections - The number of times the generation 0 objects are garbage collected since the start of the app process. Higher generation GCs include all lower generation GCs.
-
Gen 1 Garbage Collections - The number of times the generation 1 objects are garbage collected since the start of the app process. Higher generation GCs include all lower generation GCs.
-
Gen 2 Garbage Collections - The number of times the generation 2 objects are garbage collected since the start of the app process.
-
Handle Count - The total number of handles currently open by the app process.
-
Health Check Status - The average health status across the application's instances in the App Service Plan.
-
Http 2xx - The count of requests resulting in an HTTP status code ≥ 200 but < 300.
-
Http 3xx - The count of requests resulting in an HTTP status code ≥ 300 but < 400.
-
Http 4xx - The count of requests resulting in an HTTP status code ≥ 400 but < 500.
-
Http Server Errors - The count of requests resulting in an HTTP status code ≥ 500 but < 600.
-
IO Other Bytes Per Second - The rate at which the app process is issuing bytes to I/O operations that don't involve data, such as control operations.
-
IO Other Operations Per Second - The rate at which the app process is issuing I/O operations that aren't read or write operations.
-
IO Read Bytes Per Second - The rate at which the app process is reading bytes from I/O operations.
-
IO Read Operations Per Second - The rate at which the app process is issuing read I/O operations.
-
IO Write Bytes Per Second - The rate at which the app process is writing bytes to I/O operations.
-
IO Write Operations Per Second - The rate at which the app process is issuing write I/O operations.
-
Memory working set - The current amount of memory used by the app.
-
Private Bytes - Private Bytes is the current size, in bytes, of memory that the app process has allocated that can't be shared with other processes.
-
Requests - The total number of requests regardless of their resulting HTTP status code.
-
Requests In Application Queue - The number of requests in the application request queue.
-
Thread Count - The number of threads currently active in the app process.
-
Total App Domains - The current number of AppDomains loaded in this application.
-
Total App Domains Unloaded - The total number of AppDomains unloaded since the start of the application.
Azure Functions is a serverless computing service provided by Microsoft Azure that enables developers to build and deploy event-driven, scalable, and pay-per-execution functions or small pieces of code without the need to manage and provision infrastructure. These functions can be triggered by various events like HTTP requests, database changes, or messages in a queue.
The scope of this issue is to deliver an OOTB integration for Azure Functions that collects logs and metrics both.
The following type of logs are generated by Azure Functions:
FunctionAppLogs
The following metrics are available for Azure Functions:
FunctionExecutionCount - Function execution count indicates the number of times your function app has executed. This value correlates to the number of times a function runs in your app.
FunctionExecutionUnits - Function execution units are a combination of execution time and your memory usage.
Response Time - The time taken for the app to serve requests, in seconds.
Average memory working set - The average amount of memory used by the app.
Connections - The number of bound sockets existing in the sandbox (w3wp.exe and its child processes).
CPU Time - The amount of CPU consumed by the app, in seconds.
Current Assemblies - The current number of Assemblies loaded across all AppDomains in this application.
Data In - The amount of incoming bandwidth consumed by the app.
Data Out - The amount of outgoing bandwidth consumed by the app.
File System Usage - The amount of usage in bytes by storage share.
Gen 0 Garbage Collections - The number of times the generation 0 objects are garbage collected since the start of the app process. Higher generation GCs include all lower generation GCs.
Gen 1 Garbage Collections - The number of times the generation 1 objects are garbage collected since the start of the app process. Higher generation GCs include all lower generation GCs.
Gen 2 Garbage Collections - The number of times the generation 2 objects are garbage collected since the start of the app process.
Handle Count - The total number of handles currently open by the app process.
Health Check Status - The average health status across the application's instances in the App Service Plan.
Http 2xx - The count of requests resulting in an HTTP status code ≥ 200 but < 300.
Http 3xx - The count of requests resulting in an HTTP status code ≥ 300 but < 400.
Http 4xx - The count of requests resulting in an HTTP status code ≥ 400 but < 500.
Http Server Errors - The count of requests resulting in an HTTP status code ≥ 500 but < 600.
IO Other Bytes Per Second - The rate at which the app process is issuing bytes to I/O operations that don't involve data, such as control operations.
IO Other Operations Per Second - The rate at which the app process is issuing I/O operations that aren't read or write operations.
IO Read Bytes Per Second - The rate at which the app process is reading bytes from I/O operations.
IO Read Operations Per Second - The rate at which the app process is issuing read I/O operations.
IO Write Bytes Per Second - The rate at which the app process is writing bytes to I/O operations.
IO Write Operations Per Second - The rate at which the app process is issuing write I/O operations.
Memory working set - The current amount of memory used by the app.
Private Bytes - Private Bytes is the current size, in bytes, of memory that the app process has allocated that can't be shared with other processes.
Requests - The total number of requests regardless of their resulting HTTP status code.
Requests In Application Queue - The number of requests in the application request queue.
Thread Count - The number of threads currently active in the app process.
Total App Domains - The current number of AppDomains loaded in this application.
Total App Domains Unloaded - The total number of AppDomains unloaded since the start of the application.
The subtasks for adding a new integration are divided into:
Note: Tasks for collecting metrics will be added later as soon as questions around metrics collection are resolved.