There are two likely causes when you see a large number of users in the “0 sec” session data point in the User Session chart.
Potential cause #1: Out-of-session events
Amplitude considers events sent using the HTTP API without a session ID to be out-of-session events (Session ID = -1). Remember, session length is calculated based on the formula:
max(client_event_time) - session_id
So if you want these events to be considered part of a session, the session ID should be a timestamp reflecting the beginning of the session in epoch time.
Potential cause #2: You're tracking the Start Session event, but no other events
When sending Start/End session
events is enabled for the project (using Android SDK or iOS SDK), a Start Session
event is sent to Amplitude when the app is launched in the foreground. If no other events are logged in Amplitude after this, the session length is set to zero.
Amplitude's Microscope feature lets you examine a given user’s activity, so you can quickly determine whether either of these potential causes is the issue.