Help Center> > Service Overview > Product Features >Function-related Features

Function-related Features

Function Management

FunctionGraph provides console-based function management.

  • The Node.js, Java, Python, Go, C#, and PHP runtimes are supported. You can also use a custom runtime. Table 1 lists the supported runtimes.
    Table 1 Runtime description

    Runtime

    Supported Version

    Reference

    Node.js

    6.10 and 8.10

    Developing Functions in Node.js

    Python

    2.7 and 3.6

    Developing Functions in Python

    Java

    8.0

    Developing Functions in Java

    Go

    1.8

    Developing Functions in Go

    C#

    .NET Core 2.0 and .NET Core 2.1

    Developing Functions in C#

    PHP

    7.3

    Developing Functions in PHP

    Custom

    -

    Using a Custom Runtime

  • Multiple code entry modes

    FunctionGraph allows you to edit code inline, upload a ZIP file from Object Storage Service (OBS), or directly upload a ZIP file or JAR file. Table 2 lists the code entry modes supported for each runtime.

    Table 2 Code entry modes

    Runtime

    Editing Code Inline

    Uploading a ZIP File

    Uploading a JAR File

    Uploading a ZIP File from OBS

    Node.js

    Supported

    Supported

    Not supported

    Supported

    Python

    Supported

    Supported

    Not supported

    Supported

    Java

    Not supported

    Supported

    Supported

    Supported

    Go

    Not supported

    Supported

    Not supported

    Supported

    C#

    Not supported

    Supported

    Not supported

    Supported

    PHP

    Supported

    Supported

    Not supported

    Supported

    Custom

    Supported

    Supported

    Not supported

    Supported

Triggers

FunctionGraph supports the following trigger types: SMN, DMS, APIG, OBS, DIS, LTS, CTS, and timer. Table 3 lists the supported trigger types and the function invocation mode of each trigger type.

With OBS triggers, functions are invoked asynchronously. For details, see Using an OBS Trigger.

Table 3 Function invocation modes

Trigger Type

Function Invocation Mode

Reference

SMN trigger

Asynchronous invocation

Using an SMN Trigger

DMS trigger

Asynchronous invocation

Using a DMS Trigger

APIG trigger

Synchronous invocation

Using an APIG Trigger

OBS trigger

Asynchronous invocation

Using an OBS Trigger

DIS trigger

Asynchronous invocation

Using a DIS Trigger

Timer trigger

Asynchronous invocation

Using a Timer Trigger

LTS trigger

Asynchronous invocation

Using an LTS Trigger

CTS trigger

Asynchronous invocation

Using a CTS Trigger

Logs and Metrics

FunctionGraph graphically displays function monitoring metrics and collects function run logs, enabling you to view function statuses, and locate problems by querying logs.

For details on how to query logs, see Querying Function Logs.

For details on how to view the monitoring information about a function, see Viewing Function Metrics.

For details about tenant-level monitoring information, see Dashboard.

Function Initialization

The initializer interface is introduced to:

  • Isolate function initialization and request processing to enable clearer program logic and better structured and higher-performance code.
  • Ensure smooth function upgrade to prevent performance loss during the application layer's cold start initialization. Enable new function instances to automatically execute initialization logic before processing requests.
  • Identify the overhead of application layer initialization, and accurately determine when resource scaling is performed and how many resources are required. This feature makes request latency more stable when the application load increases and more function instances are required.