| 35 | void free_SHARDS_sampler(sampler_t *sampler) { free(sampler); } |
| 36 | |
| 37 | sampler_t *create_SHARDS_sampler(double sampling_ratio) { |
| 38 | if (sampling_ratio > 1 || sampling_ratio <= 0) { |
| 39 | ERROR("sampling ratio range error get %lf (should be 0-1)\n", |
| 40 | sampling_ratio); |
| 41 | } |
| 42 | |
| 43 | sampler_t *s = my_malloc(sampler_t); |
| 44 | memset(s, 0, sizeof(sampler_t)); |
| 45 | s->sampling_ratio = sampling_ratio; |
| 46 | s->sampling_ratio_inv = (int)(1.0 / sampling_ratio); |
| 47 | s->sample = SHARDS_sample; |
| 48 | s->clone = clone_SHARDS_sampler; |
| 49 | s->free = free_SHARDS_sampler; |
| 50 | s->type = SHARDS_SAMPLER; |
| 51 | |
| 52 | print_sampler(s); |
| 53 | |
| 54 | VVERBOSE("create SHARDS sampler with ratio %lf\n", sampling_ratio); |
| 55 | return s; |
| 56 | } |
| 57 | |
| 58 | |
| 59 |
no test coverage detected