Go beyond the repository Cross-service tracing

Your code is connected.
Now you can see it.

From a single method to a call across services.
Turn your Java codebase into a map you can follow.

Static analysis · Java & HTTP · Powered by Neo4j
A LITTLE CODE. A BIGGER PICTURE.Go ahead. Follow a connection.
northstar/code graph
Interactive sample
Two repositories. One connected story.
checkout-serviceJAVA · OKHTTPscheduler-serviceJAVA · SPRINGCALLSCALLSSENDS_TOHANDLED_BYCALLSƒOrderControllercreateOrder()ƒOrderServicesubmitOrder()ƒSchedulerClientscheduleDelivery()↗POST /scheduler/…/jobs/{type}ƒJobControllerscheduleJob()ƒJobServicecreateJob()
  1. ↓ CALLS
  2. ↓ CALLS
  3. ↓ SENDS_TO
  4. ↓ HANDLED_BY
  5. ↓ CALLS
HTTP CHANNEL

POST /scheduler/…

The concrete /scheduler/jobs/delivery path matches the declared /scheduler/jobs/{type} route. The channel connects both repositories.

Transport
HTTP
Route
/scheduler/jobs/{type}
Relationship
HANDLED_BY

A call doesn’t end at the edge of a repository.

Follow an OkHttp request from the caller, through its HTTP route, to the Spring method that handles it.

01 / 03
Fictional sample data · Source relationships, not live trafficNo setup required
BUILT ON SOLID GROUND
Java 21+ JavaParser Neo4j Your terminal
02 / FIND YOUR WAY

The code is all there.
The connections are harder.

Repositories show you where code lives.
CodeGraph helps you see how it fits together.

01 — CALL GRAPH

Follow the thread.

Trace resolved calls from method to method. Find the relationships that a folder tree can’t show you.

02 — CROSS-SERVICE

Cross the boundary.

Connect an outbound OkHttp call to its Spring handler, even when they live in different repositories.

03 — HONEST BY DESIGN

Know what’s unknown.

Keep unresolved endpoints visible. Inspect how a connection was derived, without filling the gaps with guesses.

03 / UNDER THE HOOD

Source code.
Meet the bigger picture.

Run locally. Query in Neo4j.
Start with the code you already have.

01

Read the source

JavaParser reads your Java files and resolves the types and method calls it can identify.

.java → syntax tree
02

Connect the dots

Build structural relationships and match supported HTTP calls to their declared routes.

methods → calls → channels
03

Explore the graph

Query the connected code in Neo4j. Re-run ingestion without creating duplicate nodes.

graph → perspective
Take a look under the hood
04 / YOUR TURN

Find your next
“oh, that’s connected.”

Point CodeGraph at your Java source.
Give your codebase a little perspective.

Get started Java 21+ · Maven 3.9+ · Neo4j 5.x
your-terminal

# Build once, explore your code

❯ mvn package

# Map your Java service

❯java -jar target/codegraph.jar ./src/main/java --service catalog --password <neo4j-password>
Your code, connected.Explore the result in Neo4j Browser.
RUN FROM YOUR CODEGRAPH CHECKOUT

Java structure, resolved method calls, and supported Spring + OkHttp connections. See current coverage and limitations