Loupe is engineered for the real world
Loupe will never crash, hang or slow down your app
Low latency logging |
Log messages are written from a background thread servicing a queue. This minimizes delay on the calling thread ensuring that logging won't affect the responsiveness of your app. |
Buffering to local storage |
Logs are buffered to local storage before being streamed to the log server. No data is lost if the network is unavailable and streaming makes more efficient use of network bandwidth. |
Live TCP Sockets |
Loupe optionally can be configured to allow connections directly to a running application via efficient use of TCP. This enables real-time log tail viewing with sub-second latency. |
Overflow protections |
The message queue and local storage are both bounded within configurable quotas to ensure Loupe won't consume too much processor, memory or disk. |
Thread safety |
Loupe is carefully written and extensively tested to be thread-safe and not deadlock. |
Compression |
Loupe data is stored in a highly optimized binary format that enables collecting a lot of data while consuming modest storage and bandwidth. |
Fail-safe design |
In the unlikely event that Loupe can't initialize or access storage, it fails safely. |
Loupe helps you solve problems quickly
Smart error grouping |
Loupe groups error recurrences tracking the number of computers and users affected by each error. You can also group multiple distinct errors when they have a common cause. |
Low latency notifications |
Logs are immediately streamed when errors occur so you can be notified immediately about problems. |
Error classifications |
Loupe distinguishes between new errors and known issues will display just what you care about at any moment filtering out the noise. |
Two-tiered data storage |
Loupe retains logs for a configurable retention period, and details on errors are retained forever. So, if a long dormant bug resurfaces, Loupe will show you its history. |
Continuous regression monitoring |
As you resolve issues, Loupe understands that some users may still be running the code but it will automatically re-open a resolved issue if it reoccurs in a subsequent application version. |