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 clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
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 clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to