| 3423 | } |
| 3424 | |
| 3425 | void HandleClientBenPut(std::vector<std::string>& parts, // NOLINT |
| 3426 | ::fedb::client::TabletClient* client) { |
| 3427 | try { |
| 3428 | uint32_t tid = boost::lexical_cast<uint32_t>(parts[1]); |
| 3429 | uint32_t pid = boost::lexical_cast<uint32_t>(parts[2]); |
| 3430 | uint64_t key_num = 1000000; |
| 3431 | if (parts.size() >= 4) { |
| 3432 | key_num = ::boost::lexical_cast<uint64_t>(parts[3]); |
| 3433 | } |
| 3434 | uint32_t times = 10000; |
| 3435 | if (parts.size() >= 5) { |
| 3436 | times = ::boost::lexical_cast<uint32_t>(parts[4]); |
| 3437 | } |
| 3438 | int num = 100; |
| 3439 | if (parts.size() >= 6) { |
| 3440 | num = ::boost::lexical_cast<int>(parts[5]); |
| 3441 | } |
| 3442 | std::string value(128, 'a'); |
| 3443 | uint64_t base = 100000000; |
| 3444 | std::random_device rd; |
| 3445 | std::default_random_engine engine(rd()); |
| 3446 | std::uniform_int_distribution<> dis(1, key_num); |
| 3447 | while (num > 0) { |
| 3448 | for (uint32_t i = 0; i < times; i++) { |
| 3449 | std::string key = std::to_string(base + dis(engine)); |
| 3450 | uint64_t ts = ::baidu::common::timer::get_micros() / 1000; |
| 3451 | client->Put(tid, pid, key, ts, value); |
| 3452 | } |
| 3453 | client->ShowTp(); |
| 3454 | num--; |
| 3455 | } |
| 3456 | } catch (boost::bad_lexical_cast& e) { |
| 3457 | std::cout << "put argument error!" << std::endl; |
| 3458 | } |
| 3459 | } |
| 3460 | |
| 3461 | // the input format like create name tid pid ttl leader endpoints |
| 3462 | void HandleClientCreateTable(const std::vector<std::string>& parts, |
no test coverage detected