Monitoring session object represents a monitoring session. It exposes the ISession interface. User script gets a reference to the session object either through IHost.sessions property or by calling the IHost.createSession method.
To query the current session state, check the ISession.state property.
Before monitoring session can be started, at least one device must be added to the session. A device may be added directly during a call to IHost.createSession method, or later using ISession.addDevice method. After the first device is added to the session, a session gets its Data Source. Data source may not be subsequently changed, therefore, if user script needs to add another device to the session, it must add device of the same type (that is, serial device to serial session, USB device to USB session and so on).
If assigned Data Source supports (or requires) configuration, it can be configured using ISession.configureSource method. Session's Capture Filter may be configured by calling ISession.setCaptureFilter method.
Devices of any installed data source, except Remote Source, may be added from user scripts.
Use the ISession.precise property to change time measurement mode.
After device(s) have been added to the session, one or more Data Visualizers must be added. User scripts call ISession.addVisualizer or its overloads to add data visualizers to the session and optionally configure their parameters. All supported data visualizers may be added from user scripts.
After the session is configured, it may be started with a call to ISession.start method. Session may be paused (ISession.pause) and resumed (ISession.resume) later. To stop a monitoring session, user script needs to call ISession.stop method. Session object becomes invalidated after this method returns and should not be used anymore.