Beispiel #1
0
    def __init__(self, partition):
        grinder.logger.output('Selected dataset %s' % dataset_url)

        self.test = Test(Instrumented.next_test, 
                         'Partition into %d slices' % partition)

        self.test_tot = Test(100 + Instrumented.next_test,
                             'Total for %d slices' % partition)
        Instrumented.next_test += 1

        self.requests = generate_subset_requests(variable, {'time': partition})

        # Create a fresh callable to instrument
        def f(req):
            return req()
        self.test.record(f)
        self.f = f

        def f2():
            for req in self.requests:
                grinder.logger.output('Requesting %s' % req)
                data = self.f(req)
                grinder.logger.output('Data returned of shape %s' % data.shape)

        self.test_tot.record(f2)
        self.f2 = f2
Beispiel #2
0
    def __init__(self, partition):
        grinder.logger.output('Selected dataset %s' % dataset_url)

        self.test = Test(Instrumented.next_test,
                         'Partition into %d slices' % partition)

        self.test_tot = Test(100 + Instrumented.next_test,
                             'Total for %d slices' % partition)
        Instrumented.next_test += 1

        self.requests = generate_subset_requests(variable, {'time': partition})

        # Create a fresh callable to instrument
        def f(req):
            return req()

        self.test.record(f)
        self.f = f

        def f2():
            for req in self.requests:
                grinder.logger.output('Requesting %s' % req)
                data = self.f(req)
                grinder.logger.output('Data returned of shape %s' % data.shape)

        self.test_tot.record(f2)
        self.f2 = f2
Beispiel #3
0
    def __init__(self, partition):
        self.test = Test(Instrumented.next_test,
                         'Partition into %d slices' % partition)
        Instrumented.next_test += 1

        self.requests = generate_subset_requests(variable, {'time': partition})

        # Create a fresh callable to instrument
        def f(req):
            return req()

        self.test.record(f)
        self.f = f
Beispiel #4
0
    def __init__(self):
        self.thread = grinder.getThreadNumber()
        # Select random dataset
        #!TODO: select dataset by Thread number?
        self.dataset_url = random.choice(dataset_list)
        self.ds = Dataset(self.dataset_url)
        self.variable = self.ds.variables[variable]
        self.requests = generate_subset_requests(self.variable,
                                                 partition_dict)

        grinder.logger.output('Thread %d selecting %s' % (self.thread,
                                                          self.dataset_url))
        grinder.logger.output('Thread %d has partitions %s' % (self.thread,
                                                               partition_dict))
        grinder.logger.output('Thread %d has variable of shape %s' % (self.thread, self.variable.shape))
Beispiel #5
0
tests = []
i = 1
for server in data_urls.DAP_BASES:
    url = data_urls.make_dataset_list(server).next()
    test = Test(i, server)
    i += 1

    print test
    def f(req):
        return req()
    test.record(f)

    ds = Dataset(url)
    var = ds.variables[variable]
    
    requests = generate_subset_requests(var, partition_dict)

    tests.append((url, test, f, requests))


class TestRunner(object):
    def __call__(self):
        for url, test, f, requests in tests:
            grinder.logger.output('Scanning dataset %s' % url)
            
            # Each invocation of f is recorded
            for req in requests:
                grinder.logger.output('Requesting %s' % req)
                data = f(req)
                grinder.logger.output('Data returned of shape %s' % data.shape)
Beispiel #6
0
for server in data_urls.DAP_BASES:
    url = data_urls.make_dataset_list(server).next()
    test = Test(i, server)
    i += 1

    print test

    def f(req):
        return req()

    test.record(f)

    ds = Dataset(url)
    var = ds.variables[variable]

    requests = generate_subset_requests(var, partition_dict)

    tests.append((url, test, f, requests))


class TestRunner(object):
    def __call__(self):
        for url, test, f, requests in tests:
            grinder.logger.output('Scanning dataset %s' % url)

            # Each invocation of f is recorded
            for req in requests:
                grinder.logger.output('Requesting %s' % req)
                data = f(req)
                grinder.logger.output('Data returned of shape %s' % data.shape)