Document Information

Analysed by SourceGraph (version 0.7.0.7) using Graphalyze (version 0.14.1.1)

Sunday 22 November, 2015

1 Legend

Two normal functions with f calling g .
Function Call
Two modules with module Foo importing Bar .
Module Import
Entities from different modules.
From module
Data type declaration.
Data type declaration
Class and instance declarations.
Class declaration
Entity location/accessibility classification.
Entity Location
Edge classification.
Edge Classification
Edge Widths
The width of each edge is calculated by: width = log (number of function calls) + 1

2 Notes

Please note that the source-code analysis in this document is not necessarily perfect: SourceGraph is not a refactoring tool, and it's usage of Classes is still premature.

Implicitly exported entities refer to class methods that are instantiated but defined elsewhere, or entities whose names start with an underscore . Note that even for Main modules, these implicit exports are included.

All graph visualisations link to larger SVG versions of the same graph.

2.1 Parsing Failures

The following source files were unable to be parsed; this may result in some analysis failures:

3 Analysis of the entire codebase

3.1 Visualisation of the entire software

Entire Codebase

3.2 Visualisation of overall function calls

Here is the current module grouping of functions:

Error running utility program: Error messages from dot: Error: trouble in init_rank %0 10 %0 2 %0 2 %0 2 %0 8 %0 2 %0 4 %0 3 %0 7 %0 5 %0 5 %0 5 %0 9 %0 5 %0 8 %0 4 %0 6 %0 3 %0 7 %0 5 %0 1 725 1 726 1 727 1 728 2 729 1 730 1 731 1 734 1 735 1 736 1 737 1 738 1 739 1 741 1 742 1 724 2 442 2 407 2 433 1 409 1 394 1 399 2 405 1 408 1 418 1 419 1 420 2 421 1 422 1 423 1 424 1 425 1 426 1 427 1 428 1 429 1 430 1 431 1 432 1 434 1 435 1 436 1 437 2 438 1 391 1 384 1 %0 1 383 1 388 1 385 2 382 1 392 1 387 2 386 1 389 1 390 2 345 1 353 1 359 2 349 1 346 1 344 1 348 1 350 1 352 1 354 2 355 1 356 2 381 1 358 1 380 1 361 1 363 1 366 1 368 1 371 1 373 1 379 3 378 1 375 1 347 1 351 1 357 1 360 1 362 1 364 1 365 1 367 1 369 1 370 1 372 1 374 2 376 1 377 1 338 1 333 1 331 2 334 1 335 1 339 1 330 1 326 2 337 2 341 1 343 1 327 1 328 2 329 2 332 1 336 1 340 1 342 1 308 2 312 1 318 1 322 2 321 3 319 2 302 2 313 2 306 1 301 1 303 1 304 1 305 1 307 1 309 1 310 1 311 1 314 1 315 1 316 1 317 1 320 1 323 1 324 1 325 1 147 4 141 1 142 1 143 1 144 1 145 1 146 1 148 1 149 1 150 3 79 1 69 1 29 2 32 1 67 1 %0 1 71 1 62 1 74 1 68 1 65 1 66 1 80 1 72 1 73 1 54 1 97 1 37 1 70 1 41 1 43 1 53 1 35 1 78 1 34 1 63 1 30 1 81 1 86 1 88 1 90 1 33 1 31 1 28 1 36 1 38 1 39 1 40 1 42 1 44 1 45 1 46 1 47 1 48 1 49 1 50 1 51 1 52 1 55 1 56 1 57 1 58 1 59 1 60 1 61 1 64 1 75 1 76 1 77 1 82 1 83 1 84 1 85 1 87 1 89 1 91 1 92 1 93 1 94 1 95 1 96 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 2 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 2 %0 1 %0 1 %0 1 %0 1 %0 2 %0 1 %0 1 %0 1 %0 1 %0 2 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 2 %0 2 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 2 %0 2 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 2 %0 2 %0 1 %0 1 %0 1 %0 1 %0 2 %0 1 %0 1 %0 2 %0 2 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 2 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 2 %0 2 %0 2 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 2 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 2 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 2 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 2 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 1 %0 2 %0 2 libpath/shortest.c:324: triangulation failed libpath/shortest.c:192: source point not in any triangle Error: in routesplines, Pshortestpath failed

Here is a proposed alternate module grouping:

Using the Chinese Whispers algorithm:

Chinese Whispers module suggestions

3.3 Overall Core analysis

The core of software is calculated by recursively removing roots and leaves of the call graph; as such, it can be considered as the section where all the "real work" is done.

Overall core

3.4 Visualisation of levels in the software

Visualises how far away from the exported root entities an entity is.

Levels within software

3.5 Overall Cyclomatic Complexity

The overall cyclomatic complexity is: 774

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

3.6 Overall root analysis

These functions are those that are inaccessible:

Paths.TH.exceptToMaybe, Paths.TH.getPackageSourceRoot, Paths.TH.perhaps, Paths.TH.toShellVarName, Thentos.Action.addGroupToGroup, Thentos.Action.addPersona, Thentos.Action.addPersonaToGroup, Thentos.Action.deleteContext, Thentos.Action.deletePersona, Thentos.Action.dropServiceRegistration, Thentos.Action.findPersona, Thentos.Action.freshCaptchaId, Thentos.Action.freshRandom20, Thentos.Action.lookupConfirmedUserByEmail, Thentos.Action.lookupConfirmedUserByName, Thentos.Action.makeCaptcha, Thentos.Action.personaGroups, Thentos.Action.registerPersonaWithContext, Thentos.Action.removeGroupFromGroup, Thentos.Action.removePersonaFromGroup, Thentos.Action.solveCaptcha, Thentos.Action.startThentosSessionByUserEmail, Thentos.Action.unassignRole, Thentos.Action.unregisterPersonaFromContext, Thentos.Action.validateThentosUserSession, Thentos.Action.Core.fromActionState, Thentos.Action.Core.getCurrentTime'P, Thentos.Action.Core.logIfError'P, Thentos.Action.Core.renderTextTemplate'P, Thentos.Action.Core.runAction, Thentos.Action.Core.runActionAsAgent, Thentos.Action.Core.runActionAsAgentE, Thentos.Action.Core.runActionInThentosSession, Thentos.Action.Core.runActionInThentosSessionE, Thentos.Action.SimpleAuth.guardedUnsafeAction, Thentos.Action.Unsafe.genRandomBytes, Thentos.Action.Unsafe.getCurrentTime, Thentos.Action.Unsafe.hashServiceKey, Thentos.Action.Unsafe.hashUserPass, Thentos.Action.Unsafe.logIfError, Thentos.Action.Unsafe.makeUserFromFormData, Thentos.Action.Unsafe.query, Thentos.Backend.Api.Proxy.ProxyAdapter, Thentos.Backend.Api.Proxy.RqMod, Thentos.Backend.Api.Proxy.createCustomHeaders, Thentos.Backend.Api.Proxy.defaultProxyAdapter, Thentos.Backend.Api.Proxy.defaultRenderUser, Thentos.Backend.Api.Proxy.err500onExc, Thentos.Backend.Api.Proxy.findDefaultServiceIdAndTarget, Thentos.Backend.Api.Proxy.findTargetForServiceId, Thentos.Backend.Api.Proxy.getRqMod, Thentos.Backend.Api.Proxy.prepareReq, Thentos.Backend.Api.Proxy.renderError, Thentos.Backend.Api.Proxy.renderHeader, Thentos.Backend.Api.Proxy.renderUser, Thentos.Backend.Api.Proxy.reverseProxyHandler, Thentos.Backend.Api.Proxy.serviceProxy, Thentos.Backend.Core.CorsPolicy, Thentos.Backend.Core.addCorsHeaders, Thentos.Backend.Core.clearCustomHeaders, Thentos.Backend.Core.corsHeaders, Thentos.Backend.Core.corsMethods, Thentos.Backend.Core.corsOrigin, Thentos.Backend.Core.fromErrorMessage, Thentos.Backend.Core.loggerMW, Thentos.Backend.Core.lookupThentosHeaderService, Thentos.Config.extractTargetUrl, Thentos.Config.getBackendConfig, Thentos.Config.getFrontendConfig, Thentos.Config.printConfigUsage, Thentos.Frontend.Handlers.sendUserExistsMail, Thentos.Frontend.Handlers.Combinators.redirectURI, Thentos.Frontend.Pages.confirmationMailSentSnippet, Thentos.Frontend.Pages.errorPagelet, Thentos.Frontend.TH.loadStaticContent, Thentos.Sybil.Captcha.generateCaptcha, Thentos.Transaction.addGroupToGroup, Thentos.Transaction.addPersona, Thentos.Transaction.addPersonaToGroup, Thentos.Transaction.deleteContext, Thentos.Transaction.deletePersona, Thentos.Transaction.findContextId, Thentos.Transaction.findPersona, Thentos.Transaction.lookupConfirmedUserByEmail, Thentos.Transaction.personaGroups, Thentos.Transaction.registerPersonaWithContext, Thentos.Transaction.removeGroupFromGroup, Thentos.Transaction.removePersonaFromGroup, Thentos.Transaction.solveCaptcha, Thentos.Transaction.storeCaptcha, Thentos.Transaction.unassignRole, Thentos.Transaction.unregisterPersonaFromContext, Thentos.Transaction.unregisterUserFromService, Thentos.Types.ContextDescription, Thentos.Types.ContextId, Thentos.Types.ContextName, Thentos.Types.ImageData, Thentos.Types.PersonaId, Thentos.Types.PersonaName, Thentos.Types.Random20, Thentos.Types.RoleGroupAdmin, Thentos.Types.fromCaptchaId, Thentos.Types.fromContextDescription, Thentos.Types.fromContextId, Thentos.Types.fromContextName, Thentos.Types.fromGroup, Thentos.Types.fromImageData, Thentos.Types.fromPersonaId, Thentos.Types.fromPersonaName, Thentos.Types.fromRandom20, Thentos.Types.fromRelRef, Thentos.Types.fromServiceSessionToken, Thentos.Types.fromThentosSessionToken, Thentos.Types.fromUri, Thentos.Types.fromUserId, Thentos.Types.fromUserPass, Thentos.Types.ldName, Thentos.Types.ldPassword, Thentos.Types.mkRandom20, Thentos.Types.udPassword

3.7 Function component analysis

The functions are split up into 22 components. You may wish to consider splitting the code up into multiple libraries.

3.8 Overall chain analysis

The code has the following cross-module chains:

These chains can all be compressed down to a single function.

4 Analysis of module imports

4.1 Visualisation of imports

Import visualisation

4.2 Cyclomatic Complexity of imports

The cyclomatic complexity of the imports is: 84

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

4.3 Import root analysis

These modules are those that are inaccessible:

Paths.TH, Thentos.Backend.Api.Docs.Proxy, Thentos.Backend.Api.Proxy

4.4 Import component analysis

The imports have 2 components. You may wish to consider splitting the code up.

4.5 Import chain analysis

The imports have the following chains:

These chains can all be compressed down to a single module.

5 Analysis of each module

5.1 Analysis of Database.PostgreSQL.Simple.Missing

5.1.1 Visualisation of Database.PostgreSQL.Simple.Missing

Diagram of: Database.PostgreSQL.Simple.Missing

5.1.2 Visualisation of levels in Database.PostgreSQL.Simple.Missing

Visualises how far away from the exported root entities an entity is.

Levels within Database.PostgreSQL.Simple.Missing

5.1.3 Cyclomatic Complexity of Database.PostgreSQL.Simple.Missing

The cyclomatic complexity of Database.PostgreSQL.Simple.Missing is: 5.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.2 Analysis of LIO.Missing

5.2.1 Visualisation of LIO.Missing

Diagram of: LIO.Missing

5.2.2 Visualisation of levels in LIO.Missing

Visualises how far away from the exported root entities an entity is.

Levels within LIO.Missing

5.2.3 Cyclomatic Complexity of LIO.Missing

The cyclomatic complexity of LIO.Missing is: 4.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.2.4 Component analysis of LIO.Missing

The module LIO.Missing has 4 components. You may wish to consider splitting it up.

5.3 Analysis of Paths.TH

5.3.1 Visualisation of Paths.TH

Diagram of: Paths.TH

5.3.2 Visualisation of levels in Paths.TH

Visualises how far away from the exported root entities an entity is.

Levels within Paths.TH

5.3.3 Cyclomatic Complexity of Paths.TH

The cyclomatic complexity of Paths.TH is: 2.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.3.4 Chain analysis of Paths.TH

The module Paths.TH has the following chains:

These chains can all be compressed down to a single function.

5.4 Analysis of System.Log.Missing

5.4.1 Visualisation of System.Log.Missing

Diagram of: System.Log.Missing

5.4.2 Visualisation of levels in System.Log.Missing

Visualises how far away from the exported root entities an entity is.

Levels within System.Log.Missing

5.4.3 Cyclomatic Complexity of System.Log.Missing

The cyclomatic complexity of System.Log.Missing is: 4.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.4.4 Component analysis of System.Log.Missing

The module System.Log.Missing has 2 components. You may wish to consider splitting it up.

5.5 Analysis of Thentos

5.5.1 Visualisation of Thentos

Diagram of: Thentos

5.5.2 Visualisation of levels in Thentos

Visualises how far away from the exported root entities an entity is.

Levels within Thentos

5.5.3 Cyclomatic Complexity of Thentos

The cyclomatic complexity of Thentos is: 1.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.6 Analysis of Thentos.Action

5.6.1 Visualisation of Thentos.Action

Diagram of: Thentos.Action

5.6.2 Visualisation of levels in Thentos.Action

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Action

5.6.3 Cyclomatic Complexity of Thentos.Action

The cyclomatic complexity of Thentos.Action is: 31.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.6.4 Component analysis of Thentos.Action

The module Thentos.Action has 27 components. You may wish to consider splitting it up.

5.7 Analysis of Thentos.Action.Core

5.7.1 Visualisation of Thentos.Action.Core

Diagram of: Thentos.Action.Core

5.7.2 Visualisation of levels in Thentos.Action.Core

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Action.Core

5.7.3 Cyclomatic Complexity of Thentos.Action.Core

The cyclomatic complexity of Thentos.Action.Core is: 17.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.7.4 Component analysis of Thentos.Action.Core

The module Thentos.Action.Core has 8 components. You may wish to consider splitting it up.

5.8 Analysis of Thentos.Action.SimpleAuth

5.8.1 Visualisation of Thentos.Action.SimpleAuth

Diagram of: Thentos.Action.SimpleAuth

5.8.2 Visualisation of levels in Thentos.Action.SimpleAuth

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Action.SimpleAuth

5.8.3 Cyclomatic Complexity of Thentos.Action.SimpleAuth

The cyclomatic complexity of Thentos.Action.SimpleAuth is: 3.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.8.4 Component analysis of Thentos.Action.SimpleAuth

The module Thentos.Action.SimpleAuth has 3 components. You may wish to consider splitting it up.

5.9 Analysis of Thentos.Action.Unsafe

5.9.1 Visualisation of Thentos.Action.Unsafe

Diagram of: Thentos.Action.Unsafe

5.9.2 Visualisation of levels in Thentos.Action.Unsafe

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Action.Unsafe

5.9.3 Cyclomatic Complexity of Thentos.Action.Unsafe

The cyclomatic complexity of Thentos.Action.Unsafe is: 9.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.9.4 Component analysis of Thentos.Action.Unsafe

The module Thentos.Action.Unsafe has 9 components. You may wish to consider splitting it up.

5.10 Analysis of Thentos.Backend.Api.Auth

5.10.1 Visualisation of Thentos.Backend.Api.Auth

Diagram of: Thentos.Backend.Api.Auth

5.10.2 Visualisation of levels in Thentos.Backend.Api.Auth

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Backend.Api.Auth

5.10.3 Cyclomatic Complexity of Thentos.Backend.Api.Auth

The cyclomatic complexity of Thentos.Backend.Api.Auth is: 2.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.10.4 Component analysis of Thentos.Backend.Api.Auth

The module Thentos.Backend.Api.Auth has 2 components. You may wish to consider splitting it up.

5.11 Analysis of Thentos.Backend.Api.Docs.Common

5.11.1 Visualisation of Thentos.Backend.Api.Docs.Common

Diagram of: Thentos.Backend.Api.Docs.Common

5.11.2 Core analysis of Thentos.Backend.Api.Docs.Common

The core of a module is calculated by recursively removing roots and leaves of the call graph; as such, it can be considered as the section where all the "real work" is done.

Core of Thentos.Backend.Api.Docs.Common

5.11.3 Visualisation of levels in Thentos.Backend.Api.Docs.Common

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Backend.Api.Docs.Common

5.11.4 Cyclomatic Complexity of Thentos.Backend.Api.Docs.Common

The cyclomatic complexity of Thentos.Backend.Api.Docs.Common is: 27.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.11.5 Component analysis of Thentos.Backend.Api.Docs.Common

The module Thentos.Backend.Api.Docs.Common has 6 components. You may wish to consider splitting it up.

5.11.6 Chain analysis of Thentos.Backend.Api.Docs.Common

The module Thentos.Backend.Api.Docs.Common has the following chains:

These chains can all be compressed down to a single function.

5.12 Analysis of Thentos.Backend.Api.Docs.Proxy

5.12.1 Visualisation of Thentos.Backend.Api.Docs.Proxy

Diagram of: Thentos.Backend.Api.Docs.Proxy

5.12.2 Core analysis of Thentos.Backend.Api.Docs.Proxy

The core of a module is calculated by recursively removing roots and leaves of the call graph; as such, it can be considered as the section where all the "real work" is done.

Core of Thentos.Backend.Api.Docs.Proxy

5.12.3 Visualisation of levels in Thentos.Backend.Api.Docs.Proxy

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Backend.Api.Docs.Proxy

5.12.4 Cyclomatic Complexity of Thentos.Backend.Api.Docs.Proxy

The cyclomatic complexity of Thentos.Backend.Api.Docs.Proxy is: 3.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.12.5 Component analysis of Thentos.Backend.Api.Docs.Proxy

The module Thentos.Backend.Api.Docs.Proxy has 2 components. You may wish to consider splitting it up.

5.12.6 Chain analysis of Thentos.Backend.Api.Docs.Proxy

The module Thentos.Backend.Api.Docs.Proxy has the following chains:

These chains can all be compressed down to a single function.

5.13 Analysis of Thentos.Backend.Api.Proxy

5.13.1 Visualisation of Thentos.Backend.Api.Proxy

Diagram of: Thentos.Backend.Api.Proxy

5.13.2 Core analysis of Thentos.Backend.Api.Proxy

The core of a module is calculated by recursively removing roots and leaves of the call graph; as such, it can be considered as the section where all the "real work" is done.

Core of Thentos.Backend.Api.Proxy

5.13.3 Visualisation of levels in Thentos.Backend.Api.Proxy

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Backend.Api.Proxy

5.13.4 Cyclomatic Complexity of Thentos.Backend.Api.Proxy

The cyclomatic complexity of Thentos.Backend.Api.Proxy is: 12.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.13.5 Component analysis of Thentos.Backend.Api.Proxy

The module Thentos.Backend.Api.Proxy has 2 components. You may wish to consider splitting it up.

5.13.6 Chain analysis of Thentos.Backend.Api.Proxy

The module Thentos.Backend.Api.Proxy has the following chains:

These chains can all be compressed down to a single function.

5.14 Analysis of Thentos.Backend.Api.Purescript

5.14.1 Visualisation of Thentos.Backend.Api.Purescript

Diagram of: Thentos.Backend.Api.Purescript

5.14.2 Visualisation of levels in Thentos.Backend.Api.Purescript

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Backend.Api.Purescript

5.14.3 Cyclomatic Complexity of Thentos.Backend.Api.Purescript

The cyclomatic complexity of Thentos.Backend.Api.Purescript is: 1.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.15 Analysis of Thentos.Backend.Api.Simple

5.15.1 Visualisation of Thentos.Backend.Api.Simple

Diagram of: Thentos.Backend.Api.Simple

5.15.2 Visualisation of levels in Thentos.Backend.Api.Simple

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Backend.Api.Simple

5.15.3 Cyclomatic Complexity of Thentos.Backend.Api.Simple

The cyclomatic complexity of Thentos.Backend.Api.Simple is: 7.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.15.4 Component analysis of Thentos.Backend.Api.Simple

The module Thentos.Backend.Api.Simple has 3 components. You may wish to consider splitting it up.

5.16 Analysis of Thentos.Backend.Core

5.16.1 Visualisation of Thentos.Backend.Core

Diagram of: Thentos.Backend.Core

5.16.2 Visualisation of levels in Thentos.Backend.Core

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Backend.Core

5.16.3 Cyclomatic Complexity of Thentos.Backend.Core

The cyclomatic complexity of Thentos.Backend.Core is: 15.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.16.4 Component analysis of Thentos.Backend.Core

The module Thentos.Backend.Core has 8 components. You may wish to consider splitting it up.

5.17 Analysis of Thentos.Config

5.17.1 Visualisation of Thentos.Config

Diagram of: Thentos.Config

5.17.2 Visualisation of levels in Thentos.Config

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Config

5.17.3 Cyclomatic Complexity of Thentos.Config

The cyclomatic complexity of Thentos.Config is: 16.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.17.4 Component analysis of Thentos.Config

The module Thentos.Config has 12 components. You may wish to consider splitting it up.

5.18 Analysis of Thentos.Frontend

5.18.1 Visualisation of Thentos.Frontend

Diagram of: Thentos.Frontend

5.18.2 Visualisation of levels in Thentos.Frontend

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Frontend

5.18.3 Cyclomatic Complexity of Thentos.Frontend

The cyclomatic complexity of Thentos.Frontend is: 1.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.18.4 Chain analysis of Thentos.Frontend

The module Thentos.Frontend has the following chains:

These chains can all be compressed down to a single function.

5.19 Analysis of Thentos.Frontend.Handlers

5.19.1 Visualisation of Thentos.Frontend.Handlers

Diagram of: Thentos.Frontend.Handlers

5.19.2 Visualisation of levels in Thentos.Frontend.Handlers

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Frontend.Handlers

5.19.3 Cyclomatic Complexity of Thentos.Frontend.Handlers

The cyclomatic complexity of Thentos.Frontend.Handlers is: 8.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.19.4 Root analysis of Thentos.Frontend.Handlers

These functions are those that are inaccessible:

sendUserExistsMail

5.19.5 Component analysis of Thentos.Frontend.Handlers

The module Thentos.Frontend.Handlers has 8 components. You may wish to consider splitting it up.

5.19.6 Chain analysis of Thentos.Frontend.Handlers

The module Thentos.Frontend.Handlers has the following chains:

These chains can all be compressed down to a single function.

5.20 Analysis of Thentos.Frontend.Handlers.Combinators

5.20.1 Visualisation of Thentos.Frontend.Handlers.Combinators

Diagram of: Thentos.Frontend.Handlers.Combinators

5.20.2 Visualisation of levels in Thentos.Frontend.Handlers.Combinators

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Frontend.Handlers.Combinators

5.20.3 Cyclomatic Complexity of Thentos.Frontend.Handlers.Combinators

The cyclomatic complexity of Thentos.Frontend.Handlers.Combinators is: 7.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.20.4 Component analysis of Thentos.Frontend.Handlers.Combinators

The module Thentos.Frontend.Handlers.Combinators has 7 components. You may wish to consider splitting it up.

5.21 Analysis of Thentos.Frontend.Pages

5.21.1 Visualisation of Thentos.Frontend.Pages

Diagram of: Thentos.Frontend.Pages

5.21.2 Visualisation of levels in Thentos.Frontend.Pages

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Frontend.Pages

5.21.3 Cyclomatic Complexity of Thentos.Frontend.Pages

The cyclomatic complexity of Thentos.Frontend.Pages is: 15.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.21.4 Component analysis of Thentos.Frontend.Pages

The module Thentos.Frontend.Pages has 6 components. You may wish to consider splitting it up.

5.22 Analysis of Thentos.Frontend.State

5.22.1 Visualisation of Thentos.Frontend.State

Diagram of: Thentos.Frontend.State

5.22.2 Visualisation of levels in Thentos.Frontend.State

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Frontend.State

5.22.3 Cyclomatic Complexity of Thentos.Frontend.State

The cyclomatic complexity of Thentos.Frontend.State is: 4.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.22.4 Component analysis of Thentos.Frontend.State

The module Thentos.Frontend.State has 3 components. You may wish to consider splitting it up.

5.23 Analysis of Thentos.Frontend.Types

5.23.1 Visualisation of Thentos.Frontend.Types

Diagram of: Thentos.Frontend.Types

5.23.2 Core analysis of Thentos.Frontend.Types

The core of a module is calculated by recursively removing roots and leaves of the call graph; as such, it can be considered as the section where all the "real work" is done.

Core of Thentos.Frontend.Types

5.23.3 Visualisation of levels in Thentos.Frontend.Types

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Frontend.Types

5.23.4 Cyclomatic Complexity of Thentos.Frontend.Types

The cyclomatic complexity of Thentos.Frontend.Types is: 10.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.23.5 Component analysis of Thentos.Frontend.Types

The module Thentos.Frontend.Types has 8 components. You may wish to consider splitting it up.

5.23.6 Chain analysis of Thentos.Frontend.Types

The module Thentos.Frontend.Types has the following chains:

These chains can all be compressed down to a single function.

5.24 Analysis of Thentos.Smtp

5.24.1 Visualisation of Thentos.Smtp

Diagram of: Thentos.Smtp

5.24.2 Visualisation of levels in Thentos.Smtp

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Smtp

5.24.3 Cyclomatic Complexity of Thentos.Smtp

The cyclomatic complexity of Thentos.Smtp is: 1.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.25 Analysis of Thentos.Transaction

5.25.1 Visualisation of Thentos.Transaction

Diagram of: Thentos.Transaction

5.25.2 Visualisation of levels in Thentos.Transaction

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Transaction

5.25.3 Cyclomatic Complexity of Thentos.Transaction

The cyclomatic complexity of Thentos.Transaction is: 28.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.25.4 Component analysis of Thentos.Transaction

The module Thentos.Transaction has 25 components. You may wish to consider splitting it up.

5.26 Analysis of Thentos.Types

5.26.1 Visualisation of Thentos.Types

Diagram of: Thentos.Types

5.26.2 Core analysis of Thentos.Types

The core of a module is calculated by recursively removing roots and leaves of the call graph; as such, it can be considered as the section where all the "real work" is done.

Core of Thentos.Types

5.26.3 Visualisation of levels in Thentos.Types

Visualises how far away from the exported root entities an entity is.

Levels within Thentos.Types

5.26.4 Cyclomatic Complexity of Thentos.Types

The cyclomatic complexity of Thentos.Types is: 73.

For more information on cyclomatic complexity, please see: Wikipedia: Cyclomatic Complexity

5.26.5 Component analysis of Thentos.Types

The module Thentos.Types has 29 components. You may wish to consider splitting it up.