Architecture notes:
Architectural dependencies are calculated at the leaf package level in the web app.
See here for more on architecure diagrams.
|
Snapshot report
Settings
| Classpath: |
See Appendix 1 |
| Granularity: |
"Detail" - includes inner classes, methods and fields
|
| Externals: |
"Hide" - referenced items are not included
|
| Excludes: |
"On" - User-defined items have been excluded from the model
|
| Transformations: | None |
Size
| Jars (and/or classpath directories): | 3 |
| Packages (that contain classes): | 30 |
| Classes (outer): | 378 |
| Classes (all): | 873 |
| Classes (external): | 0 |
| |
| NI (Number of bytecode Instructions): | 71K |
| LOC (Non Comment Non Blank Lines Of Code): | ~31K |
|
Flat Tangles
| Level | #Items | #Tangles | #Tangled items | Biggest | Degree |
| Leaf package | 30 | 2 | 6 | 4 | 15% |
| Jar | 3 | 0 | 0 | 0 | 0% |
| Outer class | 378 | 7 | 19 | 6 | 2% |
Architecture
| #Diagrams: | 1 |
| #Violations: | 4 |
| Violation frequency: | 1% |
Note: Violations and violation frequency are calculated at the leaf package level.
Excessive Structural Complexity (XS)
| Cumulative XS: | 4,918 |
| Average XS: | 7% |
XS breakout by metric (and scope)
| Metric (and scope) | Threshold | #Offenders | Offenses (%) | XS contribution |
| Tangled (design)
| 0 | 3
of
10 | 30% | 34% |
| Fat (design)
| 120 | 0
of
10 | 0% | 0% |
| Fat (leaf package)
| 120 | 0
of
30 | 0% | 0% |
| Fat (class)
| 120 | 2
of
873 | 0% | 48% |
| Fat (method)
| 15 | 5
of
4,292 | 0% | 18% |
| Total | | 100% |
Tangled (design):
3
| Item | Value |
net.grinder.engine.process | 12% |
net.grinder.engine | 4% |
net.grinder | 1% |
Fat (design)
No items exceed the threshold for Fat at the design level.
Fat (leaf package)
No items exceed the threshold for Fat at the leaf package level.
Fat (class):
2
| Item | Value |
net.grinder.console.model.ConsoleProperties | 251 |
net.grinder.console.swingui.ConsoleUI | 226 |
Fat (method):
5
| Item | Value |
net.grinder.TCPProxy.<init>(String[], Logger):void | 57 |
net.grinder.engine.agent.Agent.run():void | 29 |
net.grinder.tools.tcpproxy.HTTPProxyTCPProxyEngine.run():void | 16 |
net.grinder.communication.ServerReceiver$ServerReceiverRunnable.interruptibleRun():void | 16 |
net.grinder.statistics.StatisticExpressionFactoryImplementation.readExpression(ParseContext):StatisticExpression | 16 |
Items with highest XS - 10
| Item | Tangled | Fat | Size | XS |
net.grinder.console.swingui.ConsoleUI | | 226 | 3,414 | 1,601 |
net.grinder.console.model.ConsoleProperties | | 251 | 1,478 | 771 |
net.grinder.engine.process | 12% | 2 | 6,607 | 768 |
net.grinder.TCPProxy.<init>(String[], Logger):void | | 57 | 867 | 638 |
net.grinder | 1% | 36 | 71,210 | 538 |
net.grinder.engine | 4% | 6 | 9,410 | 342 |
net.grinder.engine.agent.Agent.run():void | | 29 | 439 | 211 |
net.grinder.tools.tcpproxy.HTTPProxyTCPProxyEngine.run():void | | 16 | 385 | 24 |
net.grinder.statistics.StatisticExpressionFactoryImplementation.readExpression(ParseContext):StatisticExpression | | 16 | 202 | 12 |
net.grinder.communication.ServerReceiver$ServerReceiverRunnable.interruptibleRun():void | | 16 | 144 | 9 |
Appendix 1 - Project Classpath
I:\Sample Code\Opensrc\java\grinder\3.0.1\contrib\mq\org.rextency.mq.jar I:\Sample Code\Opensrc\java\grinder\3.0.1\lib\grinder-j2se5.jar I:\Sample Code\Opensrc\java\grinder\3.0.1\lib\grinder-xmlbeans.jar I:\Sample Code\Opensrc\java\grinder\3.0.1\lib\grinder.jar I:\Sample Code\Opensrc\java\grinder\3.0.1\lib\jsr173_1.0_api.jar I:\Sample Code\Opensrc\java\grinder\3.0.1\lib\jython.jar I:\Sample Code\Opensrc\java\grinder\3.0.1\lib\picocontainer-1.3.jar I:\Sample Code\Opensrc\java\grinder\3.0.1\lib\xbean.jar
|