# -*- mode: python -*- Import([ "env", "get_option", ]) env = env.Clone() env.Library( target='rate_limiting', source=[ 'rate_limiting.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/util/clock_sources', ], ) env.Library(target='query_stats_parse', source=['transform_algorithm.idl'], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/idl/idl_parser', ]) env.Library( target='query_stats', source=[ '$BUILD_DIR/mongo/db/curop.cpp', 'key.cpp', 'query_stats.cpp', 'query_stats_entry.cpp' ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/bson/mutable/mutable_bson', '$BUILD_DIR/mongo/db/commands', '$BUILD_DIR/mongo/db/concurrency/lock_manager', '$BUILD_DIR/mongo/db/exec/document_value/document_value', '$BUILD_DIR/mongo/db/generic_cursor', '$BUILD_DIR/mongo/db/profile_filter', '$BUILD_DIR/mongo/db/query/command_request_response', '$BUILD_DIR/mongo/db/query/memory_util', '$BUILD_DIR/mongo/db/query/query_knobs', '$BUILD_DIR/mongo/db/query/query_shape/query_shape', '$BUILD_DIR/mongo/db/server_options', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/db/stats/counters', '$BUILD_DIR/mongo/db/stats/timer_stats', '$BUILD_DIR/mongo/db/storage/storage_engine_parameters', '$BUILD_DIR/mongo/rpc/client_metadata', '$BUILD_DIR/mongo/transport/service_executor', '$BUILD_DIR/mongo/util/diagnostic_info' if get_option('use-diagnostic-latches') == 'on' else [], '$BUILD_DIR/mongo/util/fail_point', '$BUILD_DIR/mongo/util/net/network', '$BUILD_DIR/mongo/util/processinfo', '$BUILD_DIR/mongo/util/progress_meter', 'query_stats_parse', 'rate_limiting', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/auth/auth', '$BUILD_DIR/mongo/db/auth/user_acquisition_stats', '$BUILD_DIR/mongo/db/exec/projection_executor', '$BUILD_DIR/mongo/db/prepare_conflict_tracker', '$BUILD_DIR/mongo/db/stats/resource_consumption_metrics', ], ) env.CppUnitTest( target="db_query_query_stats_test", source=[ "agg_key_test.cpp", "find_key_test.cpp", "key_test.cpp", "query_stats_test.cpp", "query_stats_store_test.cpp", "rate_limiting_test.cpp", ], LIBDEPS=[ "$BUILD_DIR/mongo/db/auth/authmocks", "$BUILD_DIR/mongo/db/query/query_shape/query_shape", "$BUILD_DIR/mongo/db/query/query_test_service_context", "$BUILD_DIR/mongo/db/service_context_d_test_fixture", "query_stats", "rate_limiting", ], ) env.Benchmark( target='rate_limiting_bm', source=[ 'rate_limiting_bm.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/unittest/unittest', '$BUILD_DIR/mongo/util/processinfo', 'rate_limiting', ], ) env.Benchmark( target='shapifying_bm', source=[ 'shapifying_bm.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/auth/auth', '$BUILD_DIR/mongo/db/pipeline/pipeline', '$BUILD_DIR/mongo/db/query/canonical_query', '$BUILD_DIR/mongo/db/query/query_shape/query_shape', '$BUILD_DIR/mongo/db/query/query_test_service_context', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/rpc/client_metadata', '$BUILD_DIR/mongo/unittest/unittest', '$BUILD_DIR/mongo/util/processinfo', 'query_stats', ], )