git: evtr: initial implementation of a DSL

Aggelos Economopoulos aggelos at crater.dragonflybsd.org
Fri Apr 23 07:33:06 PDT 2010


commit 2b130cb3acacfa5110f513e631ada1fe6479c207
Author: Aggelos Economopoulos <aoiko at cc.ece.ntua.gr>
Date:   Thu Mar 18 01:48:54 2010 +0200

    evtr: initial implementation of a DSL
    
    libevtr:
    - abstract out the hash table, convert to using uintptr_t's
      internally
    - move a bunch of fields and most of the error logic from
      evtr to evtr_query
    - don't try to resolve format strings to id's and reject
      records that don't match early; this needs way more care
      now that we might want to interpret the format strings
    - start implementation of a minimal Domain Specific Language
    - add the ability to filter based on the event type
    - lots of fixes all around
    
    evtranalyze:
    - catch up w/ API changes in libevtr
    - add toy 'stats' command

Summary of changes:
 lib/libevtr/Makefile              |   10 +-
 lib/libevtr/evtr.c                |  573 ++++++++----
 lib/libevtr/evtr.h                |   41 +-
 lib/libevtr/internal.h            |   53 ++
 lib/libevtr/ktrfmt.l              |   79 ++
 lib/libevtr/ktrfmt.tab.c          | 1821 ++++++++++++++++++++++++++++++++++++
 lib/libevtr/ktrfmt.tab.h          |   78 ++
 lib/libevtr/ktrfmt.y              |  248 +++++
 lib/libevtr/ktrfmt.yy.c           | 1863 +++++++++++++++++++++++++++++++++++++
 lib/libevtr/tok.h                 |   12 +
 usr.bin/evtranalyze/evtranalyze.c |  102 ++-
 11 files changed, 4679 insertions(+), 201 deletions(-)
 create mode 100644 lib/libevtr/internal.h
 create mode 100644 lib/libevtr/ktrfmt.l
 create mode 100644 lib/libevtr/ktrfmt.tab.c
 create mode 100644 lib/libevtr/ktrfmt.tab.h
 create mode 100644 lib/libevtr/ktrfmt.y
 create mode 100644 lib/libevtr/ktrfmt.yy.c
 create mode 100644 lib/libevtr/tok.h

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2b130cb3acacfa5110f513e631ada1fe6479c207


-- 
DragonFly BSD source repository





More information about the Commits mailing list