Patterns for creating custom charts

Each of the following sections contains a subsection that explains how to populate data, which typically involves calling some APIs on the client.

For more information about the different types of data that is collected, see Event types.
Note: Some APIs, such as connect and invokeProcedure send analytics information automatically without having to use the analytics send API. However, this behavior is only true if you call connect and invokeProcedure 60 seconds apart. This implementation limits the number of requests to the server. For example, when you call multiple adapters in the span of a single minute, it is better to "batch send" the analytics information. For testing purposes, it is better to always call the analytics send API explicitly.