Serverless applications deploy functions to servers to handle their processing. The client composes calls to these various functions, which act as microservices. Serverless functions enjoy an ability to scale easily, and to abstract away user administrative concerns. (And note that “Serverless” doesn’t mean no ops!)
In the Honeycomb Serverless stack, we emit structured events to logfiles, and then use lambda functions that upload these logs to Honeycomb
The Front-End of a Serverless system acts like any front-end system; the suggestions above in Client-side Code should help define that. The top of stack should be seen as any entry point that should be observed.
From the perspective of what to log, Serverless applications look like Service calls: the instrumentation should track the entry and exit points, and track timing, reliability, errors, and the system stage: function versions, etc.
In addition to adding further instrumentation across functions, maintaining a consistent request ID can enable tracing across multiple microservices.