# Monitoring The endpoints of an NServiceBus system collect different types of information about their operation. This information can be collected and aggregated into a monitoring solution for the whole system. ## Endpoint performance Endpoints collect [performance metrics](/monitoring/metrics/index.md) about their own operation. This data can be [sent to a ServiceControl monitoring instance](/monitoring/metrics/install-plugin.md) for [visualization in ServicePulse](/monitoring/metrics/in-servicepulse.md). Alternatively, by [consuming the raw data](/monitoring/metrics/raw.md), endpoint performance metrics can be sent to any metrics database. Use this data to understand [which message handlers need to be optimized](/tutorials/monitoring-demo/walkthrough-1.md), [which endpoints need to be scaled out](/tutorials/monitoring-demo/walkthrough-2.md), and [where there are recoverable errors slowing the system down](/tutorials/monitoring-demo/walkthrough-3.md). ## Endpoint health A ServiceControl instance can track which endpoint instances are running by listening to a [continual stream of heartbeat messages](/monitoring/heartbeats/index.md). Endpoints that fail to send heartbeats within a defined period are considered to be inactive. When an inactive endpoint starts sending heartbeats again, it becomes active. Beyond heartbeats, an endpoint can include [custom code to check anything and report status](/monitoring/custom-checks/index.md). These checks can be run on a regular schedule and can be used to ensure that third-party web services and applications are running as expected. ServicePulse can be used to [track which endpoints are active and inactive](/monitoring/heartbeats/in-servicepulse.md) as well as [monitor the status of custom checks](/monitoring/custom-checks/in-servicepulse.md). When an endpoint becomes active or inactive an [event is raised](/monitoring/heartbeats/notification-events.md) enabling integration with any other dashboard or tool. [Events are also raised when custom checks change status](/monitoring/custom-checks/notification-events.md).