While using wireshark to analyse libpcap files (>= 200 MB) I routinely
think that it would be great to preform relational queries but, wireshark
only supports search.
I thought I would decode the entire file, hold it in memory as clojure data
structures and use datomic's datalog.
Besides relational queries, a requirement is for the file to be decoded
(libpcap, ethernet-II, IP, TCP, diameter) in less then a minute(for a
200MB) and the "typical" queries should also be less than a minute.
I thought the frames could be represented like this:
{:frame-id 1
:timestamp java's instant-object
:src-mac string
:dest-mac string
:src-ip
:dest-ip ...
...}
{:frame-ids [1 3]
:diameter-session-id ...}
So, I started by using gloss to decode a 200MB file. Gloss is fantastic to
specify frames but, it is not meeting the time requirements. It appear the
problem has to do with the creation of a lot of objects. Even with 3G of
ram for the heap, it still crawls to a halt.
I could try to perform some experiments to determine approximate answers
but, I think it is better to talk with people with more experience in order
to avoid common pitfalls..
My questions are:
Will the JVM (with 3G) support a million hashmaps like the above?
Is Buffy able to do something like what I want?
Will datomic be able to handle this use case?
What would you suggest to solve this(e.g. don't use clojure data
structures.. but then datomic's datalog is not available to query?)?
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.