How to write plugin in CLANG

I am new to LLVM and CLANG, I want to write plugin for printing detailed information about source code such as member function, function calls etc.
I have referred PrintFunctionNames.cpp, and on line documentation for it, still i am confused about implementation of functions
ex:- from CallGraph.cpp i want to use VisitCallExpr(CallExpr *E) and void CallGraph::print(raw_ostream &OS),
also I am getting different useful functions regarding my purpose but not getting how to override those functions, is there tutorial available regarding this.

Thanks & Regards

Indeed there is! Check out You might want to read in case something other than the plugin interface is what you want.