127 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			127 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Python
		
	
	
	
| # Copyright 2021 The Abseil Authors
 | |
| #
 | |
| # Licensed under the Apache License, Version 2.0 (the "License");
 | |
| # you may not use this file except in compliance with the License.
 | |
| # You may obtain a copy of the License at
 | |
| #
 | |
| #     https://www.apache.org/licenses/LICENSE-2.0
 | |
| #
 | |
| # Unless required by applicable law or agreed to in writing, software
 | |
| # distributed under the License is distributed on an "AS IS" BASIS,
 | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
| # See the License for the specific language governing permissions and
 | |
| # limitations under the License.
 | |
| 
 | |
| load(
 | |
|     "//absl:copts/configure_copts.bzl",
 | |
|     "ABSL_DEFAULT_COPTS",
 | |
|     "ABSL_DEFAULT_LINKOPTS",
 | |
|     "ABSL_TEST_COPTS",
 | |
| )
 | |
| 
 | |
| package(default_visibility = ["//visibility:private"])
 | |
| 
 | |
| licenses(["notice"])
 | |
| 
 | |
| cc_library(
 | |
|     name = "sample_recorder",
 | |
|     hdrs = ["internal/sample_recorder.h"],
 | |
|     copts = ABSL_DEFAULT_COPTS,
 | |
|     linkopts = ABSL_DEFAULT_LINKOPTS,
 | |
|     visibility = [
 | |
|         "//absl:__subpackages__",
 | |
|     ],
 | |
|     deps = [
 | |
|         "//absl/base:config",
 | |
|         "//absl/base:core_headers",
 | |
|         "//absl/synchronization",
 | |
|         "//absl/time",
 | |
|     ],
 | |
| )
 | |
| 
 | |
| cc_test(
 | |
|     name = "sample_recorder_test",
 | |
|     srcs = ["internal/sample_recorder_test.cc"],
 | |
|     linkopts = ABSL_DEFAULT_LINKOPTS,
 | |
|     deps = [
 | |
|         ":sample_recorder",
 | |
|         "//absl/base:core_headers",
 | |
|         "//absl/synchronization",
 | |
|         "//absl/synchronization:thread_pool",
 | |
|         "//absl/time",
 | |
|         "@com_google_googletest//:gtest_main",
 | |
|     ],
 | |
| )
 | |
| 
 | |
| cc_library(
 | |
|     name = "exponential_biased",
 | |
|     srcs = ["internal/exponential_biased.cc"],
 | |
|     hdrs = ["internal/exponential_biased.h"],
 | |
|     linkopts = ABSL_DEFAULT_LINKOPTS,
 | |
|     visibility = [
 | |
|         "//absl:__subpackages__",
 | |
|     ],
 | |
|     deps = [
 | |
|         "//absl/base:config",
 | |
|         "//absl/base:core_headers",
 | |
|     ],
 | |
| )
 | |
| 
 | |
| cc_test(
 | |
|     name = "exponential_biased_test",
 | |
|     size = "small",
 | |
|     srcs = ["internal/exponential_biased_test.cc"],
 | |
|     copts = ABSL_TEST_COPTS,
 | |
|     linkopts = ABSL_DEFAULT_LINKOPTS,
 | |
|     visibility = ["//visibility:private"],
 | |
|     deps = [
 | |
|         ":exponential_biased",
 | |
|         "//absl/strings",
 | |
|         "@com_google_googletest//:gtest_main",
 | |
|     ],
 | |
| )
 | |
| 
 | |
| cc_library(
 | |
|     name = "periodic_sampler",
 | |
|     srcs = ["internal/periodic_sampler.cc"],
 | |
|     hdrs = ["internal/periodic_sampler.h"],
 | |
|     copts = ABSL_DEFAULT_COPTS,
 | |
|     linkopts = ABSL_DEFAULT_LINKOPTS,
 | |
|     visibility = [
 | |
|         "//absl:__subpackages__",
 | |
|     ],
 | |
|     deps = [
 | |
|         ":exponential_biased",
 | |
|         "//absl/base:core_headers",
 | |
|     ],
 | |
| )
 | |
| 
 | |
| cc_test(
 | |
|     name = "periodic_sampler_test",
 | |
|     size = "small",
 | |
|     srcs = ["internal/periodic_sampler_test.cc"],
 | |
|     copts = ABSL_TEST_COPTS,
 | |
|     linkopts = ABSL_DEFAULT_LINKOPTS,
 | |
|     visibility = ["//visibility:private"],
 | |
|     deps = [
 | |
|         ":periodic_sampler",
 | |
|         "//absl/base:core_headers",
 | |
|         "@com_google_googletest//:gtest_main",
 | |
|     ],
 | |
| )
 | |
| 
 | |
| cc_binary(
 | |
|     name = "periodic_sampler_benchmark",
 | |
|     testonly = 1,
 | |
|     srcs = ["internal/periodic_sampler_benchmark.cc"],
 | |
|     copts = ABSL_TEST_COPTS,
 | |
|     linkopts = ABSL_DEFAULT_LINKOPTS,
 | |
|     tags = ["benchmark"],
 | |
|     visibility = ["//visibility:private"],
 | |
|     deps = [
 | |
|         ":periodic_sampler",
 | |
|         "//absl/base:core_headers",
 | |
|         "@com_github_google_benchmark//:benchmark_main",
 | |
|     ],
 | |
| )
 |