

def GenerateMetadataFromFlags(benchmark_spec):
    'Generate metadata from command-line flags.\n\n  Args:\n    benchmark_spec: The benchmark specification. Contains all data that is\n        required to run the benchmark.\n\n  Returns:\n    dict. Contains metadata for this benchmark.\n  '
    vm_dict = benchmark_spec.vm_groups
    metadata = {
        
    }
    if (not FLAGS.num_keys):
        metadata['num_keys'] = (NUM_KEYS_PER_CORE * vm_dict[CASSANDRA_GROUP][0].num_cpus)
    else:
        metadata['num_keys'] = FLAGS.num_keys
    if FLAGS['cassandra_stress_preload_num_keys'].present:
        metadata['num_preload_keys'] = FLAGS.cassandra_stress_preload_num_keys
    elif (FLAGS.cassandra_stress_command in PRELOAD_REQUIRED):
        metadata['num_preload_keys'] = metadata['num_keys']
    else:
        metadata['num_preload_keys'] = len(vm_dict[CLIENT_GROUP])
    metadata.update({
        'num_data_nodes': len(vm_dict[CASSANDRA_GROUP]),
        'num_loader_nodes': len(vm_dict[CLIENT_GROUP]),
        'num_cassandra_stress_threads': FLAGS.num_cassandra_stress_threads,
        'command': FLAGS.cassandra_stress_command,
        'consistency_level': FLAGS.cassandra_stress_consistency_level,
        'retries': FLAGS.cassandra_stress_retries,
        'population_size': (FLAGS.cassandra_stress_population_size or max(metadata['num_keys'], metadata['num_preload_keys'])),
        'population_dist': FLAGS.cassandra_stress_population_distribution,
        'population_parameters': ','.join(FLAGS.cassandra_stress_population_parameters),
    })
    if (FLAGS.cassandra_stress_command == USER_COMMAND):
        metadata.update({
            'profile': FLAGS.cassandra_stress_profile,
            'operations': FLAGS.cassandra_stress_operations,
        })
    else:
        if (FLAGS.cassandra_stress_command == MIXED_COMMAND):
            metadata['mixed_ratio'] = FLAGS.cassandra_stress_mixed_ratio
        metadata['replication_factor'] = FLAGS.cassandra_stress_replication_factor
    logging.info('Metadata: %s', metadata)
    return metadata

dataset/ETHPy150Open GoogleCloudPlatform/PerfKitBenchmarker/perfkitbenchmarker/linux_benchmarks/cassandra_stress_benchmark.py GenerateMetadataFromFlags/original