diff options
author | Linus Nordberg <linus@nordberg.se> | 2009-06-25 18:22:55 +0200 |
---|---|---|
committer | Linus Nordberg <linus@nordberg.se> | 2009-06-25 18:22:55 +0200 |
commit | 572da882f6d26355d9fd284bc29be15209fed8ff (patch) | |
tree | ecf116dacf8518242081ac8a2178e06c0cb3de39 | |
parent | 6d3b3259a7c7e8d26faaf606ab6715b22942a1d5 (diff) |
Store timestamp and precision-time in db.
-rw-r--r-- | bgp-logger.org | 2 | ||||
-rw-r--r-- | src/data.lisp | 11 | ||||
-rw-r--r-- | src/playground.lisp | 14 |
3 files changed, 21 insertions, 6 deletions
diff --git a/bgp-logger.org b/bgp-logger.org index e4f4071..b160400 100644 --- a/bgp-logger.org +++ b/bgp-logger.org @@ -25,7 +25,7 @@ should've read so now it does. * TODO -- [ ] store timestamp and precision-time +- [X] store timestamp and precision-time - [ ] store as-path - [ ] move to victoria - [ ] store nexthop diff --git a/src/data.lisp b/src/data.lisp index ea8a7a4..e2c4b9b 100644 --- a/src/data.lisp +++ b/src/data.lisp @@ -67,7 +67,8 @@ TOP-ELEM is an XML document element." (let ((templ (make-instance 'bgp-message)) (new-prefs nil) (octet-msgs (dom:get-elements-by-tag-name top-elem "OCTET_MSG")) - (prefixes (dom:get-elements-by-tag-name top-elem "PREFIX"))) + (prefixes (dom:get-elements-by-tag-name top-elem "PREFIX")) + (time (aref (dom:get-elements-by-tag-name top-elem "TIME") 0))) ;; Populate new-prefs. (when (> (length prefixes) 0) @@ -82,11 +83,15 @@ TOP-ELEM is an XML document element." prefixes)))) ;; Populate the template. - ;; TODO: just do it! + (let ((ts (aref (dom:get-elements-by-tag-name time "TIMESTAMP") 0)) + (pt (aref (dom:get-elements-by-tag-name time "PRECISION_TIME") 0))) + (setf (timestamp templ) + (dom:data (aref (dom:child-nodes ts) 0))) + (setf (precision-time templ) + (dom:data (aref (dom:child-nodes pt) 0)))) ;; Add octets to templ. (when (> (length octet-msgs) 0) - ;;(format t "found octet-msg~%") (let* ((oct (aref (dom:get-elements-by-tag-name (aref octet-msgs 0) "OCTETS") 0)) diff --git a/src/playground.lisp b/src/playground.lisp index 5cc1336..bc11db6 100644 --- a/src/playground.lisp +++ b/src/playground.lisp @@ -89,10 +89,20 @@ ;; (next-xml-blurb (new-reader "victoria.tug.nordu.net" 50001) "BGP_MESSAGE") -;; +;;;; db +;; SQL +"select * from bgp_message where timestamp != 0 order by id desc limit 3;" + +;; postmodern, lower level +;; http://common-lisp.net/project/postmodern/postmodern.html#querying +(query "select count(*) from bgp_message" :single) (doquery (:select 'timestamp 'prefix 'label :from 'bgp-message) (ts pref lbl) (format t "~A ~A ~A~%" ts pref lbl)) -(select-dao 'bgp-message) +;; postmodern, higher level +;; http://common-lisp.net/project/postmodern/postmodern.html#tabledef +(dolist (m (select-dao 'bgp-message (:= 'label "NANN"))) + (format t "~A ~A ~A~%" (timestamp m) (prefix m) (label m))) +(length (select-dao 'bgp-message)) |