Path: csiph.com!usenet.pasdenom.info!news.albasani.net!feeder.erje.net!1.eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed1.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.004 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'subject:: [': 0.04; '21,': 0.07; 'algorithms,': 0.07; 'subject:code': 0.07; 'welcome.': 0.07; 'parameter': 0.09; 'url:github': 0.09; 'cc:addr:python-list': 0.11; 'python': 0.11; 'posted': 0.15; 'kern': 0.16; 'pointers.': 0.16; 'subject: \n ': 0.16; 'subject:log': 0.16; 'thread,': 0.16; 'workings': 0.16; 'student': 0.16; 'wrote:': 0.18; 'trying': 0.19; 'numerical': 0.19; 'subject:] ': 0.20; 'cc:addr:python.org': 0.22; 'choices': 0.24; 'url:gov': 0.24; 'cc:2**0': 0.24; 'cc:no real name:2**0': 0.24; 'logging': 0.26; 'header:In-Reply-To:1': 0.27; 'robert': 0.30; 'message-id:@mail.gmail.com': 0.30; "i'm": 0.30; 'comments': 0.31; 'everyone': 0.33; 'subject:with': 0.35; 'tool': 0.35; 'received:google.com': 0.35; 'entry': 0.36; 'thanks': 0.36; 'subject:?': 0.36; 'url:org': 0.36; 'e.g.': 0.38; 'pm,': 0.38; 'future': 0.60; 'algorithms': 0.60; 'most': 0.60; 'utilize': 0.61; 'new': 0.61; 'term': 0.63; 'teaching': 0.64; 'subject:there': 0.68; 'fact,': 0.69; 'training': 0.77; '2015': 0.84; 'hooked': 0.84; 'url:latest': 0.91 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=yrbjGxOfY8kY/WYdrPBm88yBGgHD9NuB87ToyFUAw1U=; b=JnnCxTe6xZg4HVLErJbZebl75DJrKhb56r2YJXeoeFRFkvZ3prSUavrWauoiyhz0Vt BO43hUdPeKeheCi4sy2YJatN8HezlHT41qEWwwjlv5yCznP843q9Y3TMrsyOitWXnVVU dn3qwEHZ3RjL4Vv8Js0IauMheptHL9Ak3zed5ELNbAG8OE5tGJuQGeRxs+tgwMq9glS2 fciXKnJfbKuGufoRZ4YqJ6YuYEZYZ0BKfwTgSyHY1pIBg6t+bfzidPe8jn3RJI5X3c2/ JJ3qqHAUM4u+IeJZ3P/xayy1kEygN6+f2swL5IL3xP/Xi96qOh8C4sYWTN19Pk23b1KW XH9w== MIME-Version: 1.0 X-Received: by 10.194.11.73 with SMTP id o9mr2035871wjb.116.1430955069257; Wed, 06 May 2015 16:31:09 -0700 (PDT) In-Reply-To: References: Date: Wed, 6 May 2015 19:31:09 -0400 Subject: Re: [SciPy-User] Is there existing code to log-with-bells-on for runtime algorithm diagnostics? From: Rob Clewley To: SciPy Users List Cc: python-list@python.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.20+ Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 28 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1430955072 news.xs4all.nl 2868 [2001:888:2000:d::a6]:60113 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:90079 Just to follow up on this thread, for interested readers' future reference... On Tue, Apr 21, 2015 at 4:22 PM, Robert Kern wrote: > On Tue, Apr 21, 2015 at 8:02 PM, Rob Clewley wrote: >> In fact, I'm trying to build a general purpose tool for exploring the >> inner workings of numerical algorithms for teaching and learning >> purposes, e.g. for graduate student training or for figuring out >> parameter choices in difficult applications. > > The term you want to search for is "structured logging". > > http://www.structlog.org/en/stable/ > http://eliot.readthedocs.org/en/stable/ > https://twiggy.readthedocs.org/en/latest/logging.html#structured-logging > http://netlogger.lbl.gov/ > I posted a new blog entry about my prototypical diagnosis and visualization tools for python numerical algorithms, built over matplotlib: http://robclewley.github.io/logging-and-diagnostic-tools-for-numeric-python-algorithms/ They utilize structlog, and I hooked up a noSQL DB (tinydb) to the logging to enable search capabilities of the log post-mortem. Comments and PRs most welcome. Thanks to everyone for the pointers. -Rob