# Turn on debug tracing for org.eclipse.jdt.core plugin
org.eclipse.jdt.core/debug=false

# Reports buffer manager activity
org.eclipse.jdt.core/debug/buffermanager=false

# Reports incremental builder activity : nature of build, built state reading, indictment process
org.eclipse.jdt.core/debug/builder=false

# Reports compiler activity
org.eclipse.jdt.core/debug/compiler=false

# Reports codeassist completion activity : recovered unit, inferred completions
org.eclipse.jdt.core/debug/completion=false

# Reports classpath variable initialization, and classpath container resolution
org.eclipse.jdt.core/debug/cpresolution=false

# Reports internals of classpath variable initialization, and classpath container resolution (to be used on the JDT/Core team request only)
org.eclipse.jdt.core/debug/cpresolution/advanced=false

# Reports failures during classpath variable initialization, and classpath container resolution
org.eclipse.jdt.core/debug/cpresolution/failure=false

# Reports bad node nesting in DOM AST (for interactive usage)
org.eclipse.jdt.core/debug/dom/ast=false

# Throws an exception in case of bad node nesting in DOM AST (enabled in tests)
org.eclipse.jdt.core/debug/dom/ast/throw=false

# Reports type errors when using ASTRewrite (throws exceptions; not enabled by default, since some non-typesafe operations are fine in practice)
org.eclipse.jdt.core/debug/dom/rewrite=false

# Report type hierarchy connections, refreshes and deltas
org.eclipse.jdt.core/debug/hierarchy=false

# Reports background indexer activity: indexing, saving index file, index queries
org.eclipse.jdt.core/debug/indexmanager=false

# Print notified Java element deltas
org.eclipse.jdt.core/debug/javadelta=false
org.eclipse.jdt.core/debug/javadelta/verbose=false

# Reports various Java model activities
org.eclipse.jdt.core/debug/javamodel=false

# Reports Java model elements opening/closing
org.eclipse.jdt.core/debug/javamodel/cache=false

# Reports changes in the Java classpath and classpath resolution
org.eclipse.jdt.core/debug/javamodel/classpath=false

# Reports all insertions and removals from the java model cache
org.eclipse.jdt.core/debug/javamodel/insertions=false

# Records information about the invalid archive cache
org.eclipse.jdt.core/debug/javamodel/invalid_archives=false

# Runs self-diagnostics on the free space lists. This is expensive and will slow down indexing.
org.eclipse.jdt.core/debug/index/freespacetest=false

# Controls the amount of memory used by the traceback log, in megabytes (suggested size = 1024).
# If nonzero, the index will print out detailed traceback information when corruption is detected. 
org.eclipse.jdt.core/debug/index/logsizemegs=0

# Logs every time a page is allocated, flushed, or inserted/removed from the page cache (very verbose)
org.eclipse.jdt.core/debug/index/pagecache=false

# Prints information about when the indexer runs and what files are being indexed
org.eclipse.jdt.core/debug/index/indexer=false

# Prints a line whenever a class is added to or removed from the index
org.eclipse.jdt.core/debug/index/insertions=false

# Prints diagnostic information about index database locks
org.eclipse.jdt.core/debug/index/locks=false

# Prints a message whenever the indexer is scheduled. Useful for tracking race conditions in the unit tests.
org.eclipse.jdt.core/debug/index/scheduling=false

# Prints statistics about database memory usage
org.eclipse.jdt.core/debug/index/space=false

# Performs self-testing during indexing by reading back every class and comparing it with the original .class file
org.eclipse.jdt.core/debug/index/selftest=false

# Prints statistics about indexing time
org.eclipse.jdt.core/debug/index/timing=false

# Reports post actions addition/run
org.eclipse.jdt.core/debug/postaction=false

# Reports name resolution activity
org.eclipse.jdt.core/debug/resolution=false

# Reports java search activity
org.eclipse.jdt.core/debug/search=false

# Reports source mapper activity
org.eclipse.jdt.core/debug/sourcemapper=false

# Reports code formatter activity
org.eclipse.jdt.core/debug/formatter=false

# Reports open on selection activity : recovered unit, inferred selection
org.eclipse.jdt.core/debug/selection=false

# Reports access to zip and jar files through the Java model
org.eclipse.jdt.core/debug/zipaccess=false

# Reports the time to perform code completion.
org.eclipse.jdt.core/perf/completion=300

# Reports the time to perform code selection.
org.eclipse.jdt.core/perf/selection=300

# Reports the time to process a java element delta.
org.eclipse.jdt.core/perf/javadeltalistener=500

# Reports the time to perform an initialization of a classpath variable.
org.eclipse.jdt.core/perf/variableinitializer=5000

# Reports the time to perform an initialization of a classpath container.
org.eclipse.jdt.core/perf/containerinitializer=5000

# Reports the time to perform a reconcile operation.
org.eclipse.jdt.core/perf/reconcile=1000
