Closed (fixed)
Project:
Redis Watchdog
Version:
7.x-1.x-dev
Component:
Code
Priority:
Major
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
19 May 2012 at 21:46 UTC
Updated:
2 Aug 2017 at 01:55 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #1
fgmSame here. PHP 5.4.30. redis.module 7.2.11. Redis 2.6.12 (Ubuntu 12.04 LTS standard package).
Comment #2
mrded commentedI can confirm that it doesn't work.
Comment #3
mrded commentedI think it would makes sense to split up this issue. #2456353: Clearing log messages doesn't work
Comment #4
mrded commentedInitial patch.
Comment #5
perignon commentedSorting and filtering are hard because of how Redis works. I am attempting to filter by at least one item (message type), then offer a CSV export function to dump the data down to your local machine. The other module for Redis watchdog solves this by using AngularJS but then the entire result set of the logs is in your browser. I have a site with millions of records in logs (MongoDB), I don't want to load all of them in my browser!
Comment #6
perignon commentedI have taken over the module and am actively getting it usable. Filtering by log type is very hard with Redis without using a JS framework on the UI and loading ALL of the logs. I choose to segment the logs by type in Redis and allow you to display them that way. There is also a CSV dump function so you can export to your favorite spreadsheet program and do more log research that way.
Comment #7
fgmOne thing which could help with key listing is using SCAN (non-blocking) to list keys in your logger collection instead of KEYS (blocking).
Comment #8
perignon commentedI am using lists data structure in Redis so they are very fast. Each log type gets a new list.
Comment #9
fgmDoes that mean you retrieve items using LINDEX bin cid ? Its cost is O(cid). I suspect it's rather HGET bin cid, which is in O(1) and would seem a more natural fit.
Comment #10
perignon commentedMostly just lRange depending on the situation. I wrote the class methods to eventually accept ranges if need be. Single records with hGet.