How I see Riemann

Riemann’s a “server”, a listening app, that listens for messages on a socket via TCP/UPD and (among other things) updates a key-value table (?), an index, with time-constrained events (using a time-to-live field, TTL). This servant, the server, waiting to take orders, events, from other programs called clients. Clients, other programs, send orders over TCP/UDP, and Riemann reacts to it. When thinking about Riemann, it’s important to distinguish between Riemann, the actual server, and something that communicates with it, a Riemann client. Any program that communicates with Riemann is a client, but many people of many languages have created a wrapper called a “[Programming Language] Riemann Client”. I don’t see the wrapper itself as the client. The wrapper makes it easier for your program to communicate with Riemann and therefore be a client.