open fun setup()

in graphql-dgs-spring-boot-micrometer/src/jmh/kotlin/com/netflix/graphql/dgs/metrics/micrometer/DgsGraphQLMetricsInstrumentationBenchmark.kt [63:99]


    open fun setup() {
        val mockEnvironment = MockEnvironment()

        applicationContext = AnnotationConfigApplicationContext()
        applicationContext.environment = mockEnvironment
        applicationContext.register(BenchmarkedDataFetcher::class.java)
        applicationContext.refresh()
        applicationContext.start()

        val provider =
            DgsSchemaProvider(
                applicationContext = applicationContext,
                federationResolver = Optional.empty(),
                existingTypeDefinitionRegistry = Optional.empty(),
                methodDataFetcherFactory =
                    MethodDataFetcherFactory(
                        listOf(
                            InputArgumentResolver(DefaultInputObjectMapper()),
                            DataFetchingEnvironmentArgumentResolver(),
                            FallbackEnvironmentArgumentResolver(DefaultInputObjectMapper()),
                        ),
                    ),
            )

        val simpleMeter = SimpleMeterRegistry()
        val properties = DgsGraphQLMetricsProperties()
        val metricsInstrumentation =
            DgsGraphQLMetricsInstrumentation(
                schemaProvider = provider,
                registrySupplier = { simpleMeter },
                tagsProvider = DgsGraphQLCollatedMetricsTagsProvider(),
                properties = properties,
                limitedTagMetricResolver = SpectatorLimitedTagMetricResolver(properties.tags),
            )

        graphql = GraphQL.newGraphQL(provider.schema(schema)).instrumentation(metricsInstrumentation).build()
    }