# 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

# 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
