view mod_http_stats_stream/README.markdown @ 4876:0f5f2d4475b9

mod_http_xep227: Add support for import via APIs rather than direct store manipulation In particular this transitions PEP nodes and data to be imported via mod_pep's APIs, fixing issues with importing at runtime while PEP data may already be live in RAM. Next obvious candidate for this approach is rosters, so clients get immediate roster pushes and other special handling (such as emitting subscribes to reach the desired subscription state).
author Matthew Wild <mwild1@gmail.com>
date Tue, 18 Jan 2022 17:01:18 +0000
parents bac3dae031ee
children
line wrap: on
line source

---
depends:
- 'mod\_http'
provides:
- http
---

# Introduction

This module provides a streaming interface to [Prosodys internal statistics][doc:statistics] via
[Server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events).

## Example

```js
var evtSource = new EventSource("/stats_stream");

/*
 * An event with all current statistics in the form of a JSON object.
 * Normally sent only once, when first connected to the stream.
 */
evtSource.addEventListener("stats-full", function(e) {
	var initial_stats = JSON.parse(e.data);
	console.log(initial_stats);
}, false);

/*
 * An event containing only statistics that have changed since the last
 * 'stats-full' or 'stats-updated' event.
 */
evtSource.addEventListener("stats-updated", function(e) {
	var updated_stats = JSON.parse(e.data);
	console.log(updated_stats);
}, false);
```

# Compatibility

* Prosody \>= 0.11.0
* Trunk < [5f15ab7c6ae5](https://hg.prosody.im/trunk/rev/5f15ab7c6ae5)