fun resolveComplexity()

in graphql-dgs-spring-boot-micrometer/src/main/kotlin/com/netflix/graphql/dgs/metrics/micrometer/DgsGraphQLMetricsInstrumentation.kt [365:389]


        fun resolveComplexity(parameters: InstrumentationExecuteOperationParameters): Int? {
            val executionContext: ExecutionContext = parameters.executionContext
            val complexityCalculator: QueryComplexityCalculator =
                QueryComplexityCalculator
                    .newCalculator()
                    .fieldComplexityCalculator(complexityCalculator)
                    .schema(executionContext.graphQLSchema)
                    .document(executionContext.document)
                    .operationName(executionContext.executionInput.operationName)
                    .variables(executionContext.coercedVariables)
                    .build()
            val complexity: Int =
                try {
                    complexityCalculator.calculate()
                } catch (exc: Exception) {
                    log.error("Unable to compute the query complexity!", exc)
                    return null
                }
            for (bucket in queryComplexityBuckets) {
                if (complexity < bucket) {
                    return bucket
                }
            }
            return Int.MAX_VALUE
        }