MCPcopy Create free account
hub / github.com/apache/arrow / SetUp

Method SetUp

cpp/src/arrow/filesystem/s3fs_benchmark.cc:62–109  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

60class MinioFixture : public benchmark::Fixture {
61 public:
62 void SetUp(const ::benchmark::State& state) override {
63 minio_.reset(new MinioTestServer());
64 ASSERT_OK(minio_->Start(/*enable_tls=*/false));
65
66 const char* region_str = std::getenv(kEnvAwsRegion);
67 if (region_str) {
68 region_ = region_str;
69 std::cerr << "Using region from environment: " << region_ << std::endl;
70 } else {
71 std::cerr << "Using default region" << std::endl;
72 }
73
74 const char* bucket_str = std::getenv(kEnvBucketName);
75 if (bucket_str) {
76 bucket_ = bucket_str;
77 std::cerr << "Using bucket from environment: " << bucket_ << std::endl;
78 } else {
79 bucket_ = "bucket";
80 std::cerr << "Using default bucket: " << bucket_ << std::endl;
81 }
82
83 client_config_.endpointOverride = ToAwsString(minio_->connect_string());
84 client_config_.scheme = Aws::Http::Scheme::HTTP;
85 if (!region_.empty()) {
86 client_config_.region = ToAwsString(region_);
87 }
88 client_config_.retryStrategy = std::make_shared<ConnectRetryStrategy>();
89 credentials_ = {ToAwsString(minio_->access_key()), ToAwsString(minio_->secret_key())};
90 bool use_virtual_addressing = false;
91 client_.reset(
92 new Aws::S3::S3Client(credentials_, client_config_,
93 Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never,
94 use_virtual_addressing));
95
96 MakeFileSystem();
97
98 const char* skip_str = std::getenv(kEnvSkipSetup);
99 const std::string skip = skip_str ? std::string(skip_str) : "";
100 if (!skip.empty()) {
101 std::cerr << "Skipping creation of bucket/objects as requested" << std::endl;
102 } else {
103 ASSERT_OK(MakeBucket());
104 ASSERT_OK(MakeObject("bytes_1mib", 1024 * 1024));
105 ASSERT_OK(MakeObject("bytes_100mib", 100 * 1024 * 1024));
106 ASSERT_OK(MakeObject("bytes_500mib", 500 * 1024 * 1024));
107 ASSERT_OK(MakeParquetObject(bucket_ + "/pq_c402_r250k", 400, 250000));
108 }
109 }
110
111 void MakeFileSystem() {
112 options_.ConfigureAccessKey(minio_->access_key(), minio_->secret_key());

Callers 1

Calls 8

ToAwsStringFunction · 0.85
connect_stringMethod · 0.80
access_keyMethod · 0.80
secret_keyMethod · 0.80
MakeFileSystemFunction · 0.70
resetMethod · 0.45
StartMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected