Greetings - The documentation for the logging prototype has been updated and can be found at: https://dev.lsstcorp.org/trac/wiki/db/Qserv/ProtoLog For those interested, the source code is located within the u/bchick/protolog branch of the git.lsstcorp.org:LSST/DMS/qserv.git repository. -- Bill On Apr 15, 2014, at 1:01 PM, Jacek Becla <[log in to unmask]> wrote: > This is a second attempt to organize meeting about logging. > These interested in attending, please let me know your > availability through: > > http://doodle.com/sby9zh26di86nm9g > > We will provide an updated documentation describing > the latest version of the prototype late tonight. > > Thanks, > Jacek > > > >> On 03/12/2014 11:37 AM, Jacek Becla wrote: >>> Hi all, >>> >>> I'd like to schedule a meeting about logging to continue >>> discussion we started back in December (see below if you >>> don't recall). >>> >>> Bill has now built a log4cxx-based prototype which he can >>> demo, so sometime in the next week or so feels like a good >>> time to pick up the discussion. Could we possibly do it >>> tomorrow at 1pm PDT, or some time Monday? (based on DM >>> calendar, Robert is gone for quite some time starting Tuesday...) >>> >>> These interested in the discussion, please fill the poll at: >>> >>> http://doodle.com/an9yguusdhq8rzqb >>> >>> Jacek >>> >>> >>> >>> >>> >>> On 12/18/2013 01:57 PM, Jacek Becla wrote: >>>> Attendees: Robert Lupton, K-T Lim, Bill Chickering, >>>> Mike Freemon, Serge Monkewitz, Jacek >>>> >>>> >>>> High level summary >>>> ================== >>>> - application-level logging: >>>> - considering using log4cxx, plus one-line interface >>>> and configuration >>>> - swig it to python >>>> - distributed logging: >>>> - considering using Apache Flume >>>> - next steps: >>>> - build a prototype >>>> - evaluate >>>> - make final decision (this is probably SAT level) >>>> - expecting to have app-level prototype in late January, >>>> with Flume in February [Bill will build it] >>>> >>>> >>>> Related reading >>>> =============== >>>> https://dev.lsstcorp.org/trac/wiki/db/Qserv/Logging >>>> (it will be updated shortly after these notes are sent out) >>>> >>>> >>>> Detailed notes >>>> ============== >>>> >>>> the wiki page does not cover our existing event system >>>> - it could be considered as an option for distributed logging >>>> - although it has many issues >>>> >>>> >>>> google logging >>>> - automatically selects module name (we dislike it) >>>> - doesn't seem very popular >>>> >>>> >>>> yes, pex_logging has optimizations and tries to minimize >>>> computation if logging turned off >>>> >>>> >>>> pay attention to performance, e.g., ideally Robert would >>>> like an option to compile out logging all together >>>> >>>> >>>> it'd be useful to define even more levels than log4cxx offers >>>> (e.g., several levels within "debug") - need to research if >>>> that is doable >>>> >>>> >>>> Robert dislikes the api in pex_logging, want something >>>> as easy as printf, a.la.: >>>> >>>> LOG("a.b.c", n, message, args, ...); >>>> >>>> where "a.b.c" is the hierarchical component name, n is >>>> the severity, and args are printf/boost::format/stream >>>> style arguments for the message. >>>> >>>> >>>> need to be able to attach metadata to individual log messages >>>> >>>> >>>> log4cxx directly vs wrapping? >>>> - log4cxx plus one-line simple format, and dealing with >>>> configuration >>>> >>>> >>>> need to be able to dynamically turn on/off distributed logging >>>> (isolate our software from distributed logging) >>>> - proposed model: configure system to produce log in log4j >>>> format, distributed logging simply consumes the data >>>> >>>> >>>> same logging system from python and C++ or they can diverge? >>>> - same. It is a requirement! >>>> >>>> >>>> logging from python >>>> - swig the c++ implementation >>>> - yes, even for simple, python-only admin tools >>>> >>>> >>>> configuring logging >>>> - from c++: through api or a text file >>>> - from python: through a text file only >>>> >>>> >>>> two main uses for logging: >>>> - manual debugging >>>> - automated parsing of logs >>>> - want key/value for that >>>> - can configure log4cxx to write in json format >>>> >>>> >>>> problem with existing event system >>>> - ingesting into rdbms slow, querying key/value in rdbms slow >>>> - it does not batch >>>> - issues with multi-threading >>>> - but using event system as a transport protocol is an option, >>>> it is fast, scales, reliable >>>> >>>> >>>> sending log data to distributed logging system >>>> - through local files, or streaming directly >>>> - if local files: space mgmt issues (disks getting full) >>>> - but acts as a buffer, if distrib logging down, can resync >>>> and catch up >>>> >>>> >>>> Flume vs Kafka >>>> - Flum is simpler, easier to deploy than Kafka >>>> - Kafka focuses a lot on high throughput / high performance >>>> - both use ZooKeeper >>>> - Flume is not just for hdfs >>>> - both solid, well supported, Apache products >>>> --> prototype with Flume >>>> >>>> >>>> if we use Flume, would we still use event system for monitoring? >>>> Options: >>>> - use event system >>>> - do event monitoring in Flume >>>> - generate events from Flume and use event system after Flume >>>> >>>> >>>> This discussion is all about application level logging, not for >>>> system level logging (done by NCSA) >>>> - NCSA has good tools that they use and like >>>> - Mike will send some info, if it looks interesting to us >>>> we will schedule a phone call to discuss >>>> >>>> >>>> Jacek >>>> >>>> >>>> >>>> >>>> On 12/17/2013 10:53 PM, Jacek Becla wrote: >>>>> Hi, >>>>> >>>>> I've put together a sketch proposal for logging system >>>>> based on earlier research done by our student Bill >>>>> on distributed logging systems, plus a couple of >>>>> hours of research/reading up about pex_logging, >>>>> log4cxx, Flume and Kafka, see: >>>>> >>>>> https://dev.lsstcorp.org/trac/wiki/db/Qserv/Logging >>>>> >>>>> I'm planning to discuss it tomorrow (Wed) at 11:00 >>>>> pacific with Bill and K-T. >>>>> >>>>> If anyone is interested in joining, we'll keep >>>>> the line open: 866 740 1260, pass 9268664. >>>>> >>>>> Jacek >>>>> >>>> >>> >> > > ######################################################################## > Use REPLY-ALL to reply to list > > To unsubscribe from the QSERV-L list, click the following link: > https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1 ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the QSERV-L list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1