private void logAutomatonSizes(CompiledRegex result) {
LOG_AUTOMATON_SIZES.finer(() -> Json.obj(
Json.prop("pattern", source.getPattern()),
Json.prop("flags", source.getFlags()),
Json.prop("props", ast == null ? new RegexProperties() : ast.getProperties()),
Json.prop("astNodes", ast == null ? 0 : ast.getNumberOfNodes()),
Json.prop("nfaStates", nfa == null ? 0 : nfa.getStates().length),
Json.prop("dfaStatesFwd", executorNodeForward == null ? 0 : executorNodeForward.getNumberOfStates()),
Json.prop("dfaStatesBck", executorNodeBackward == null ? 0 : executorNodeBackward.getNumberOfStates()),
Json.prop("dfaStatesCG", executorNodeCaptureGroups == null ? 0 : executorNodeCaptureGroups.getNumberOfStates()),
Json.prop("traceFinder", traceFinderNFA != null),
Json.prop("compilerResult", compilerResultToString(result))).toString() + ",");
}