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
|