Skip to content

cmattoon/xhprof-graph

Folders and files

NameName
Last commit message
Last commit date
Jul 24, 2015
Aug 21, 2015
Jul 15, 2015
Apr 8, 2015
Jul 15, 2015
May 21, 2015
Apr 4, 2015
Apr 4, 2015
Jul 24, 2015
Jul 7, 2015
Apr 16, 2015
Apr 16, 2015
May 20, 2015
Apr 23, 2015

Repository files navigation

xhprof-graph

#####XHProf + Neo4J Parses/stores *.xhprof files and stores to Neo4J for reporting, tracking and analytics. It's in a minimally-functioning/hacky state right now, and relies on importing *.xhprof files. I've got a ways to go still, but this is the general idea.

##Why a Graph?

  • No means to aggregate data natively in Xhprof (needs something)
  • Callgraphs are graphs, so why not store the data as such?
  • Emphasis on relationships rather than structure.
  • Maybe find some cool relationships/queries that would be otherwise difficult/very slow in RDBMSs?
  • First useful application of a Graph DB, and I want to see what happens!
  • Find all instances of functions/methods for refactoring, etc.

##Current Setup This is my first attempt at working with a Graph DB. I'm not sure this is the best (or even the correct) way to go about it, but it seems to work so far.

  • Runs are pageviews
  • Scripts are pages
  • Map script->run->ParentClass::parentMethod->ChildClass::childMethod
  • Functions are noted by an absence of a class attribute.
  • Statistics are stored as relationship attributes

Requirements

  1. Composer

Setup

  1. git submodule init && git submodule update
  2. composer install

Contributing

Pull requests, ideas and suggestions welcome!

[email protected]

Pie charts! Charts

View on a per-run basis (per-pageview). Runs

Most expensive classes (average across all runs). Classes

Some sample screenshots (from Neo4J) Mess

Example

About

XHProf + Neo4J

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published