Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Documenting your architecture: Wireshark, PlantUML and a REPL to glue them all (danlebrero.com)
309 points by kiyanwang on Sept 24, 2017 | hide | past | favorite | 25 comments


I love the description of Wireshark being "venerable". It seems only last week it was called Ethereal and only last month when there was nothing really available to do packet capture and analysis that didn't cost a kidney.

Nowadays the pace of development is breathtaking. Judging by the change log there can be anything up to a few hours between commits:

https://code.wireshark.org/review/gitweb?p=wireshark.git;a=l...


>> It seems only last week it was called Ethereal and only last month when there was nothing really available to do packet capture and analysis that didn't cost a kidney.

Ethereal was released in 1998, and changed the name to wireshark in 2006 or 2007. Doesn't feel like last week to me, but then again different people, so different perceptions.


Yeah, I've used wireshark for years. But maybe I was late in the game.


Old-Age-related Time Dilation aside, it really has been a long time since you needed to pay for packet sniffing. I haven't done so since Microsoft released their internal "Netmon" tool to the outside, I think around 1993.


I love that they don't (appear to) use X11 on macOS anymore. What a pain in the butt it was to setup for a while there.


I definitely like the idea of using UML in a territory-to-map direction as opposed to the opposite.


That reminds me of "UML as sketch" rather than "UML as blueprint" approach:

https://martinfowler.com/bliki/UmlAsSketch.html

However, I tend to find that if I'm drawing sketches I don't need anything as "formal" as UML

[NB I have a long standing loathing of obsessively detailed use of UML, fortunately for me most people seem to have given up on this approach.]


Yes! I remember a long time being nonplussed by the saying "Don't mistake the map for the territory".

I thought who on earth would ever do that! Ridiculous!

But in fact, as I gained experience I found it was the norm, not the exception.


'do what you document, document what you do' - will take whatever tools are available to help with that!


This analogy is taken straight out of “the 7 habits”?



Thank you for sharing this!


PlantUML is one of the best tools I've used for sequence diagrams. Really awesome stuff and there's a fantastic plugin for VSCode that gives you realtime preview.


Emacs support too.



The C4 model [1] and Structurizr [2], describing systems architecture through code seems worth linking to here as well.

[1] https://c4model.com/

[2] https://structurizr.com/


Good idea. In the finance space, I did something similar to understand FIX message log files; there's a lot of back and forth among algorithmic trading engines, the GUI, and the stock exchange that can be confusing, and some visualization can help give the big picture before one delves into the multi-gigabyte log file.

I remember NewRelic had something similar to reverse-engineer cloud architecture, which I thought was an awesome idea, too, in this age of microservices. There should be a startup around that idea (minus having to use NewRelic) if there isn't one already.


AppDynamics does as well. It injects a bunch of headers into standard traffic (HTTP, JMS, JDBC) and then correlates it elsewhere.

It's great when it works. (We're 4 months into a support case where Hystrix causes AppD to completely lose it's mind).


There is really a missing piece in FOSS tools - the high level network analyzer focusing on flows, inferring causalities, tracking network identities on different protocol layers.


Having taken the bait of model driven OO architecture hook line and sinker circa 2000, and having followed the practice religiously to it's natural painful conclusion, it's nice to see someone find a truly novel and useful application for the UML sequence diagram.

It's nice to have an accurate picture of how the system works but it is folly to trust one before the fact.


Shameless plug:

This (very) thin wrapper lets you write your PlantUML code in Jupyter cells.

https://github.com/jbn/IPlantUML


I like this idea.

I've used a similar method to explore differences between design and implementation for verticals, as those often have stringent requirements on how to process data and what data/algorithms can be used.


neat solution! but in most systems requests would be coming from all over the place, not a central one (the browser in this example, of all things :)


Good concept to generate UML from logs


So cool. So useful. Thank you Dan Lebrero!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: