Go function runtime logging
Cloud Functions automatically captures a Go application's standard output streams and sends them to the centralized logging system available in Yandex Cloud. In addition to the application run history, the system logs request execution events.
Additional messages are logged using standard language constructs:
fmt.Print
/Println
: Outputs a message to the standard output stream,stdout
.print
/println
: Outputs a message to the standard error stream,stderr
.time.Now
+time.Since
: Returns the action duration.
Note
Multiline messages must be separated by \r
(carriage return) and not by \n
(line feed). When using a line feed, each line is sent as a separate message and displayed separately in the log.
For more information about string formatting, see the relevant section of the documentationprint
and println
built-in functions heretime
package and its functionality here
System messages
When processing each function call, the system also logs START
, END
, and REPORT
system messages:
START RequestID: <request_ID> Version: <function_version_ID>
END RequestID: <request_ID>
REPORT RequestID: <request_ID>
Duration: 236.606 ms
Billed Duration: 300 ms
Memory Size: 128 MB
Max Memory Used: 22 MB
Queuing Duration: 0.027 ms
Function Init Duration: 225.298 ms
All lines contain the ID of the request (RequestID
), which is generated automatically when the function is invoked.
The REPORT
line provides a report on the function run. It contains additional information about the resources consumed:
Duration
: Time spent invoking the function. It includes theQueuing Duration
andFunction Init Duration
parameters.Billed Duration
: Time billed based on the pricing policy.Memory Size
: Amount of memory specified at version creation, MB.Max Memory Used
: Memory used when the request starts running.Queuing Duration
: Time spent by the request in the internal queue. If this time increases, it may indicate a lack of function instances. The maximum number of instances is determined by the quotas.Function Init Duration
: Time spent initializing the runtime and loading the function code.