Hash-based Sampling =================== Rsyslog supports various sampling mechanisms. These can be used on client systems to save servers from getting overwhelmed. Here we introduce a new sampling mechanism "Hash-based sampling". Let's consider the following setup of systems running services and generating logs. There are three services A, B and C. These services work together to create a request processing pipeline. User request lands up at system A, which processes the request, generates logs and forwards it to service B. B processes the request it received from A, generates logs and forwards it to C and so on and so forth. :: +-+-+-+-+-+-+ +-+ +-+ +-+ +-+-++-+-+ |UserRequest| -> |A| -> |B| -> |C| -> | Database | +-+-+-+-+-+-+ +-+ +-+ +-+ +-+-++-+-+ Consider three sample user requests :: {"request_id": "reqid1", "data": "payload_1_original"} {"request_id": "reqid2", "data": "payload_2_original"} {"request_id": "reqid3", "data": "payload_3_original"} Service A generated logs :: {"request_id": "reqid1", "datetime": "