Skip to content

sherod/Clarity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

See clarity.rb for license information.

Raise issues here: https://github.com/sherod/Clarity/issues 

This is a command line ruby program and thus requires ruby to be installed

Run as either:

 ruby clarity.rb [logfilename]

or (if you have ruby in /usr/bin/ruby)

 ./clarity.rb [logfilename]

To see only method calls:

  clarity.rb METHOD [logfilename]

To see only SOQL query details:

  clarity.rb SOQL [logfilename]

to see only Workflow details

  clarity.rb WORKFLOW [logfilename]

Tested on OSX 10.7.3, ruby 1.8.7

Expected log file is in the following format:

23.0 APEX_CODE,FINEST;APEX_PROFILING,INFO;CALLOUT,INFO;DB,INFO;SYSTEM,DEBUG;VALIDATION,INFO;VISUALFORCE,INFO;WORKFLOW,INFO
16:13:02.022 (22214000)|EXECUTION_STARTED
16:13:02.022 (22246000)|CODE_UNIT_STARTED|[EXTERNAL]|06690000000pzMR|VF: /apex/personaccountedit
16:13:02.023 (23141000)|VF_DESERIALIZE_VIEWSTATE_BEGIN|06690000000pzMR
16:13:02.026 (26052000)|VARIABLE_SCOPE_BEGIN|[6]|PersonAccountEditController.RECORD_TYPE_ID_PARAM|String|false|true
16:13:02.030 (30856000)|VF_DESERIALIZE_VIEWSTATE_END
(etc etc)

And outputs a log in the format:

 calls VF: /apex/personaccountedit
        calls PersonAccountEditController get(IsNew)
            calls IsNew
                calls PersonAccountEditController.PersonAccountEditController()
                calls PersonAccountEditController get(PersonDetails)
                    calls PersonDetails
                        calls PersonAccountEditController invoke(sync)
                            calls CustomerSync.CustomerSync()
                            calls CustomerSync.syncCustomer(Id)
                                calls Common.Common()
                                calls Common.retrieveRecord(String, LIST, Id)
                                    calls Common.retrieveRecord(String, SET, Id)
                                        calls Common.createQuery(String, SET, Id)
                                            calls QueryBuilder.QueryBuilder()
                                            calls QueryBuilder.defaultAnd()
                                            calls QueryBuilder.addField(String)
                                            calls QueryBuilder.addFields(SET)
						calls trigAccUpdateMobileOnOpp on PersonAccount trigger event AfterUpdate for [001O0000006CTX8]
                                                      trigAccUpdateMobileOnOpp on PersonAccount trigger event AfterUpdate for [001O0000006CTX8] runs [select Id, Name, Mobile__c, Email__c, Account.PersonMobilePhone, Account.PersonEmail from Opportunity where AccountId IN :tmpVar1] and finds 0 rows


Feedback welcome to @sherod on twitter or via github.  

About

Tool for decoding Salesforce logs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages