Commit d0076621 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Forecaster component:

- Removed unneeded and renamed data files
- Removed unneeded old code
- Code cleanup
parent fd58f7f7
Loading
Loading
Loading
Loading
+0 −99
Original line number Diff line number Diff line
from concurrent import futures
import time

import grpc
import greet_pb2
import greet_pb2_grpc

#imported by me
import pandas as pd
import numpy as np
from prophet import Prophet
import matplotlib.pyplot as plt
import time
from sklearn.ensemble import RandomForestRegressor
import datetime as dt
from statistics import mean 

class GreeterServicer(greet_pb2_grpc.GreeterServicer):
    def ComputeTopologyForecast(self, request, context):
        print("The following request has been received:")
        print(request)

        #this value indicates the size of the trainset.
        #For example a history ratio of 10 would imply that the trainset will be 10 times bigger than the testset.
        forecast_to_history_ratio = 10
        #history_window_seconds indicates the size of the trainset based on the requested size of the testset and the predifined history ratio
        history_window_seconds = forecast_to_history_ratio * request.forecast_window_seconds

        df = getTopology(request.topology_id)

        df["ds"] = pd.to_datetime(df["ds"]) - dt.datetime(1970, 1, 1)
        df["ds"] = df["ds"].dt.total_seconds()

        maximum = df["ds"].max()
        minimum = maximum - history_window_seconds
        print(f"The dates of the trainset would have the following range of values: From {minimum} until {maximum} ")
        #smallest = df["ds"].drop_duplicates().nsmallest(2)
        #smallest = smallest.reset_index()
        #sampleDifference = smallest["ds"][1] - smallest["ds"][0]
        #calculating the maximum size of the dataset
        #futureMaximum = sampleDifference * request.forecast_window_seconds
        #futureMaximum = futureMaximum + maximum
        #print(f"Sample frequency: {sampleDifference}")
        #print(f"The testset would have the following range of values: From {maximum} until {futureMaximum} ")

        #filtering by linkId and parsing it into integers
        link_capacity = greet_pb2.LinkCapacity()
        forecast_reply = greet_pb2.ForecastReply()

        for linkid in df["linkid"].unique()[:10]:
            print(linkid)
            newdf = df[df.linkid == linkid ]
            #converting linkid to float to avoid problems with machine learning, since there is only one option. It is converted to 1.0
            newdf.loc[:,"linkid"] = 1.0
            trainset = newdf[int(newdf.shape[0] / 10):newdf.shape[0]]
            testset = newdf[0:int(newdf.shape[0] / 10)]

            rf = RandomForestRegressor(n_estimators = 600, random_state = 42)
            rf.fit(trainset.drop(['y'], axis=1), trainset['y'])

            forecast = rf.predict(testset.drop(['y'], axis=1))
            averageResult = round( mean(testset['y']), 2 )
            maximumCapacity = round( trainset["y"].max(), 2)

            link_capacity.linkuuid = linkid
            link_capacity.forecasted_capacity = averageResult
            link_capacity.total_capacity_gbps = maximumCapacity

            forecast_reply.LinkCapacityList.append(link_capacity)

        
        print("The results were completely generated")

        return forecast_reply
    
def getTopology(topologyId):
    if topologyId == "1":
        df = pd.read_csv('dataset.csv')
    elif topologyId == "2":
        df = pd.read_csv('dataset2.csv')
        print(df.columns)
        #Adapting the dataframe to have the same structure
        df = df.drop(['Unnamed: 0', 'source', 'target'], axis=1)
        df.rename(columns = {'id':'linkid'}, inplace = True)
        df.rename(columns = {'demandValue':'y'}, inplace = True)
    else:
        df = pd.read_csv('./PythonGrpc-main/dataset.csv')
    return df


def serve():
    server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
    greet_pb2_grpc.add_GreeterServicer_to_server(GreeterServicer(), server)
    server.add_insecure_port("localhost:50051")
    server.start()
    server.wait_for_termination()

if __name__ == "__main__":
    serve()
 No newline at end of file
+6 −6
Original line number Diff line number Diff line
@@ -33,14 +33,14 @@ def read_csv(csv_file : str) -> pandas.DataFrame:
    LOGGER.info('  DONE')

    LOGGER.info('Parsing and Adapting columns...')
    if 'dataset.csv' in csv_file or 'dataset-short.csv' in csv_file:
    if 'dataset.csv' in csv_file:
        df.rename(columns={'linkid': 'link_id', 'ds': 'timestamp', 'y': 'used_capacity_gbps'}, inplace=True)
        df[['source', 'destination']] = df['link_id'].str.split('_', expand=True)
    elif 'dataset2.csv' in csv_file:
        df.drop(columns=['Unnamed: 0'], inplace=True)
        df.rename(columns={
            'target': 'destination', 'id': 'link_id', 'ds': 'timestamp', 'demandValue': 'used_capacity_gbps'
        }, inplace=True)
    #elif 'dataset2.csv' in csv_file:
    #    df.drop(columns=['Unnamed: 0'], inplace=True)
    #    df.rename(columns={
    #        'target': 'destination', 'id': 'link_id', 'ds': 'timestamp', 'demandValue': 'used_capacity_gbps'
    #    }, inplace=True)
    LOGGER.info('  DONE')

    LOGGER.info('Updating timestamps...')
+0 −328
Original line number Diff line number Diff line
"linkid","ds","y"
"be1.be_de1.de","2005-07-29 11:30:00",13.633721
"be1.be_fr1.fr","2005-07-29 11:30:00",37.369276
"be1.be_gr1.gr","2005-07-29 11:30:00",0.023673
"be1.be_it1.it","2005-07-29 11:30:00",0.251916
"be1.be_uk1.uk","2005-07-29 11:30:00",26.126846
"de1.de_be1.be","2005-07-29 11:30:00",41.771397
"de1.de_gr1.gr","2005-07-29 11:30:00",137.840494
"de1.de_uk1.uk","2005-07-29 11:30:00",187.909209
"es1.es_fr1.fr","2005-07-29 11:30:00",9.989878
"es1.es_it1.it","2005-07-29 11:30:00",15.279216
"es1.es_pt1.pt","2005-07-29 11:30:00",18.024652
"fr1.fr_be1.be","2005-07-29 11:30:00",3.491062
"fr1.fr_es1.es","2005-07-29 11:30:00",27.289934
"fr1.fr_it1.it","2005-07-29 11:30:00",5.19262
"fr1.fr_pt1.pt","2005-07-29 11:30:00",2.075046
"fr1.fr_uk1.uk","2005-07-29 11:30:00",171.856756
"gr1.gr_be1.be","2005-07-29 11:30:00",0.463852
"gr1.gr_de1.de","2005-07-29 11:30:00",4070.266255
"gr1.gr_it1.it","2005-07-29 11:30:00",6.49398
"it1.it_be1.be","2005-07-29 11:30:00",26.771257
"it1.it_es1.es","2005-07-29 11:30:00",209.799198
"it1.it_fr1.fr","2005-07-29 11:30:00",7.919724
"it1.it_gr1.gr","2005-07-29 11:30:00",4.624628
"pt1.pt_es1.es","2005-07-29 11:30:00",89.292105
"pt1.pt_fr1.fr","2005-07-29 11:30:00",0.978255
"pt1.pt_uk1.uk","2005-07-29 11:30:00",62.342932
"uk1.uk_be1.be","2005-07-29 11:30:00",11.812727
"uk1.uk_de1.de","2005-07-29 11:30:00",255.863122
"uk1.uk_fr1.fr","2005-07-29 11:30:00",233.412507
"uk1.uk_pt1.pt","2005-07-29 11:30:00",502.236205
"be1.be_de1.de","2005-06-20 18:15:00",46.947486
"be1.be_fr1.fr","2005-06-20 18:15:00",73.202652
"be1.be_gr1.gr","2005-06-20 18:15:00",0.084347
"be1.be_it1.it","2005-06-20 18:15:00",0.386309
"be1.be_uk1.uk","2005-06-20 18:15:00",181.377554
"de1.de_be1.be","2005-06-20 18:15:00",12.337703
"de1.de_gr1.gr","2005-06-20 18:15:00",166.013822
"de1.de_uk1.uk","2005-06-20 18:15:00",196.713395
"es1.es_fr1.fr","2005-06-20 18:15:00",10.50535
"es1.es_it1.it","2005-06-20 18:15:00",8.637348
"es1.es_pt1.pt","2005-06-20 18:15:00",20.493486
"fr1.fr_be1.be","2005-06-20 18:15:00",15.280566
"fr1.fr_es1.es","2005-06-20 18:15:00",41.105169
"fr1.fr_it1.it","2005-06-20 18:15:00",6.188476
"fr1.fr_pt1.pt","2005-06-20 18:15:00",7.292464
"fr1.fr_uk1.uk","2005-06-20 18:15:00",39.916047
"gr1.gr_be1.be","2005-06-20 18:15:00",0.987871
"gr1.gr_de1.de","2005-06-20 18:15:00",3761.528535
"gr1.gr_it1.it","2005-06-20 18:15:00",0.762946
"it1.it_be1.be","2005-06-20 18:15:00",11.693967
"it1.it_es1.es","2005-06-20 18:15:00",20.093962
"it1.it_fr1.fr","2005-06-20 18:15:00",25.279273
"it1.it_gr1.gr","2005-06-20 18:15:00",54.110787
"pt1.pt_es1.es","2005-06-20 18:15:00",12.870606
"pt1.pt_fr1.fr","2005-06-20 18:15:00",1.294275
"pt1.pt_uk1.uk","2005-06-20 18:15:00",335.570213
"uk1.uk_be1.be","2005-06-20 18:15:00",7.096555
"uk1.uk_de1.de","2005-06-20 18:15:00",356.532161
"uk1.uk_fr1.fr","2005-06-20 18:15:00",20.45373
"uk1.uk_pt1.pt","2005-06-20 18:15:00",791.04219
"be1.be_de1.de","2005-08-29 16:45:00",20.400142
"be1.be_fr1.fr","2005-08-29 16:45:00",31.346514
"be1.be_gr1.gr","2005-08-29 16:45:00",0.026822
"be1.be_it1.it","2005-08-29 16:45:00",0.357069
"be1.be_uk1.uk","2005-08-29 16:45:00",8.252107
"de1.de_be1.be","2005-08-29 16:45:00",57.709307
"de1.de_gr1.gr","2005-08-29 16:45:00",110.602237
"de1.de_uk1.uk","2005-08-29 16:45:00",239.446965
"es1.es_fr1.fr","2005-08-29 16:45:00",20.517778
"es1.es_it1.it","2005-08-29 16:45:00",15.353667
"es1.es_pt1.pt","2005-08-29 16:45:00",5.643483
"fr1.fr_be1.be","2005-08-29 16:45:00",4.804849
"fr1.fr_es1.es","2005-08-29 16:45:00",96.682749
"fr1.fr_it1.it","2005-08-29 16:45:00",3.330747
"fr1.fr_pt1.pt","2005-08-29 16:45:00",1.916587
"fr1.fr_uk1.uk","2005-08-29 16:45:00",28.144199
"gr1.gr_be1.be","2005-08-29 16:45:00",0.895539
"gr1.gr_de1.de","2005-08-29 16:45:00",4930.897339
"gr1.gr_it1.it","2005-08-29 16:45:00",7.983659
"it1.it_be1.be","2005-08-29 16:45:00",10.327772
"it1.it_es1.es","2005-08-29 16:45:00",18.97108
"it1.it_fr1.fr","2005-08-29 16:45:00",98.574706
"it1.it_gr1.gr","2005-08-29 16:45:00",1.593313
"pt1.pt_es1.es","2005-08-29 16:45:00",13.32428
"pt1.pt_fr1.fr","2005-08-29 16:45:00",3.733925
"pt1.pt_uk1.uk","2005-08-29 16:45:00",51.415678
"uk1.uk_be1.be","2005-08-29 16:45:00",14.334868
"uk1.uk_de1.de","2005-08-29 16:45:00",199.272255
"uk1.uk_fr1.fr","2005-08-29 16:45:00",55.182499
"uk1.uk_pt1.pt","2005-08-29 16:45:00",652.70225
"be1.be_de1.de","2005-08-16 07:30:00",27.712568
"be1.be_fr1.fr","2005-08-16 07:30:00",3.889573
"be1.be_gr1.gr","2005-08-16 07:30:00",0.086821
"be1.be_it1.it","2005-08-16 07:30:00",0.005398
"be1.be_uk1.uk","2005-08-16 07:30:00",4.136991
"de1.de_be1.be","2005-08-16 07:30:00",41.662646
"de1.de_gr1.gr","2005-08-16 07:30:00",83.698837
"de1.de_uk1.uk","2005-08-16 07:30:00",75.24126
"es1.es_fr1.fr","2005-08-16 07:30:00",2.219729
"es1.es_it1.it","2005-08-16 07:30:00",7.145139
"es1.es_pt1.pt","2005-08-16 07:30:00",1.677266
"fr1.fr_be1.be","2005-08-16 07:30:00",7.666459
"fr1.fr_es1.es","2005-08-16 07:30:00",13.062805
"fr1.fr_it1.it","2005-08-16 07:30:00",0.266986
"fr1.fr_pt1.pt","2005-08-16 07:30:00",0.883506
"fr1.fr_uk1.uk","2005-08-16 07:30:00",11.742382
"gr1.gr_be1.be","2005-08-16 07:30:00",0.61562
"gr1.gr_de1.de","2005-08-16 07:30:00",2001.396054
"gr1.gr_it1.it","2005-08-16 07:30:00",2.294517
"it1.it_be1.be","2005-08-16 07:30:00",3.148501
"it1.it_es1.es","2005-08-16 07:30:00",5.216237
"it1.it_fr1.fr","2005-08-16 07:30:00",3.382423
"it1.it_gr1.gr","2005-08-16 07:30:00",4.762001
"pt1.pt_es1.es","2005-08-16 07:30:00",0.328222
"pt1.pt_fr1.fr","2005-08-16 07:30:00",0.544094
"pt1.pt_uk1.uk","2005-08-16 07:30:00",6.946024
"uk1.uk_be1.be","2005-08-16 07:30:00",14.723145
"uk1.uk_de1.de","2005-08-16 07:30:00",101.817113
"uk1.uk_fr1.fr","2005-08-16 07:30:00",13.165427
"uk1.uk_pt1.pt","2005-08-16 07:30:00",59.307456
"be1.be_de1.de","2005-05-07 23:45:00",3.00826
"be1.be_fr1.fr","2005-05-07 23:45:00",18.221967
"be1.be_gr1.gr","2005-05-07 23:45:00",0.173417
"be1.be_it1.it","2005-05-07 23:45:00",0.00523
"be1.be_uk1.uk","2005-05-07 23:45:00",1.61097
"de1.de_be1.be","2005-05-07 23:45:00",56.899745
"de1.de_gr1.gr","2005-05-07 23:45:00",631.542367
"de1.de_uk1.uk","2005-05-07 23:45:00",210.597064
"es1.es_fr1.fr","2005-05-07 23:45:00",4.532915
"es1.es_it1.it","2005-05-07 23:45:00",3.393107
"es1.es_pt1.pt","2005-05-07 23:45:00",12.377514
"fr1.fr_be1.be","2005-05-07 23:45:00",0.414987
"fr1.fr_es1.es","2005-05-07 23:45:00",6.300601
"fr1.fr_it1.it","2005-05-07 23:45:00",3.127358
"fr1.fr_pt1.pt","2005-05-07 23:45:00",0.651608
"fr1.fr_uk1.uk","2005-05-07 23:45:00",33.277552
"gr1.gr_be1.be","2005-05-07 23:45:00",0.199733
"gr1.gr_de1.de","2005-05-07 23:45:00",933.371627
"gr1.gr_it1.it","2005-05-07 23:45:00",1.692505
"it1.it_be1.be","2005-05-07 23:45:00",27.93755
"it1.it_es1.es","2005-05-07 23:45:00",46.131064
"it1.it_fr1.fr","2005-05-07 23:45:00",16.271473
"it1.it_gr1.gr","2005-05-07 23:45:00",739.540984
"pt1.pt_es1.es","2005-05-07 23:45:00",0.777791
"pt1.pt_fr1.fr","2005-05-07 23:45:00",0.319394
"pt1.pt_uk1.uk","2005-05-07 23:45:00",176.696919
"uk1.uk_be1.be","2005-05-07 23:45:00",1.521
"uk1.uk_de1.de","2005-05-07 23:45:00",153.659587
"uk1.uk_fr1.fr","2005-05-07 23:45:00",16.592104
"uk1.uk_pt1.pt","2005-05-07 23:45:00",292.931055
"be1.be_de1.de","2005-06-07 00:15:00",11.527804
"be1.be_fr1.fr","2005-06-07 00:15:00",22.142524
"be1.be_gr1.gr","2005-06-07 00:15:00",0.005173
"be1.be_it1.it","2005-06-07 00:15:00",1.885266
"be1.be_uk1.uk","2005-06-07 00:15:00",1.226966
"de1.de_be1.be","2005-06-07 00:15:00",82.949555
"de1.de_gr1.gr","2005-06-07 00:15:00",214.578575
"de1.de_uk1.uk","2005-06-07 00:15:00",173.876359
"es1.es_fr1.fr","2005-06-07 00:15:00",19.262246
"es1.es_it1.it","2005-06-07 00:15:00",3.708902
"es1.es_pt1.pt","2005-06-07 00:15:00",27.095824
"fr1.fr_be1.be","2005-06-07 00:15:00",4.848429
"fr1.fr_es1.es","2005-06-07 00:15:00",20.620681
"fr1.fr_it1.it","2005-06-07 00:15:00",7.290271
"fr1.fr_pt1.pt","2005-06-07 00:15:00",4.311982
"fr1.fr_uk1.uk","2005-06-07 00:15:00",70.120616
"gr1.gr_be1.be","2005-06-07 00:15:00",1.011151
"gr1.gr_de1.de","2005-06-07 00:15:00",4235.315598
"gr1.gr_it1.it","2005-06-07 00:15:00",2.605588
"it1.it_be1.be","2005-06-07 00:15:00",29.244533
"it1.it_es1.es","2005-06-07 00:15:00",18.239399
"it1.it_fr1.fr","2005-06-07 00:15:00",38.556206
"it1.it_gr1.gr","2005-06-07 00:15:00",25.842485
"pt1.pt_es1.es","2005-06-07 00:15:00",3.852742
"pt1.pt_fr1.fr","2005-06-07 00:15:00",0.065172
"pt1.pt_uk1.uk","2005-06-07 00:15:00",367.749119
"uk1.uk_be1.be","2005-06-07 00:15:00",12.040352
"uk1.uk_de1.de","2005-06-07 00:15:00",162.255549
"uk1.uk_fr1.fr","2005-06-07 00:15:00",58.607545
"uk1.uk_pt1.pt","2005-06-07 00:15:00",433.376631
"be1.be_de1.de","2005-06-22 20:30:00",20.497253
"be1.be_fr1.fr","2005-06-22 20:30:00",20.782852
"be1.be_gr1.gr","2005-06-22 20:30:00",0.005848
"be1.be_it1.it","2005-06-22 20:30:00",0.090026
"be1.be_uk1.uk","2005-06-22 20:30:00",2.056996
"de1.de_be1.be","2005-06-22 20:30:00",27.225774
"de1.de_gr1.gr","2005-06-22 20:30:00",272.761011
"de1.de_uk1.uk","2005-06-22 20:30:00",199.828438
"es1.es_fr1.fr","2005-06-22 20:30:00",22.522197
"es1.es_it1.it","2005-06-22 20:30:00",13.393051
"es1.es_pt1.pt","2005-06-22 20:30:00",5.932286
"fr1.fr_be1.be","2005-06-22 20:30:00",15.616435
"fr1.fr_es1.es","2005-06-22 20:30:00",29.365936
"fr1.fr_it1.it","2005-06-22 20:30:00",2.797562
"fr1.fr_pt1.pt","2005-06-22 20:30:00",10.604824
"fr1.fr_uk1.uk","2005-06-22 20:30:00",45.283715
"gr1.gr_be1.be","2005-06-22 20:30:00",1.087738
"gr1.gr_de1.de","2005-06-22 20:30:00",4865.371323
"gr1.gr_it1.it","2005-06-22 20:30:00",3.528006
"it1.it_be1.be","2005-06-22 20:30:00",11.366813
"it1.it_es1.es","2005-06-22 20:30:00",7.02441
"it1.it_fr1.fr","2005-06-22 20:30:00",22.716083
"it1.it_gr1.gr","2005-06-22 20:30:00",25.769665
"pt1.pt_es1.es","2005-06-22 20:30:00",8.340278
"pt1.pt_fr1.fr","2005-06-22 20:30:00",0.860282
"pt1.pt_uk1.uk","2005-06-22 20:30:00",293.90633
"uk1.uk_be1.be","2005-06-22 20:30:00",13.314889
"uk1.uk_de1.de","2005-06-22 20:30:00",168.266278
"uk1.uk_fr1.fr","2005-06-22 20:30:00",7.017269
"uk1.uk_pt1.pt","2005-06-22 20:30:00",575.047825
"be1.be_de1.de","2005-06-12 04:45:00",48.027576
"be1.be_fr1.fr","2005-06-12 04:45:00",58.392573
"be1.be_gr1.gr","2005-06-12 04:45:00",0.115611
"be1.be_it1.it","2005-06-12 04:45:00",0.011134
"be1.be_uk1.uk","2005-06-12 04:45:00",1.715897
"de1.de_be1.be","2005-06-12 04:45:00",84.910002
"de1.de_gr1.gr","2005-06-12 04:45:00",120.996306
"de1.de_uk1.uk","2005-06-12 04:45:00",155.065369
"es1.es_fr1.fr","2005-06-12 04:45:00",7.534709
"es1.es_it1.it","2005-06-12 04:45:00",12.081569
"es1.es_pt1.pt","2005-06-12 04:45:00",7.131193
"fr1.fr_be1.be","2005-06-12 04:45:00",2.231369
"fr1.fr_es1.es","2005-06-12 04:45:00",3.40216
"fr1.fr_it1.it","2005-06-12 04:45:00",0.943786
"fr1.fr_pt1.pt","2005-06-12 04:45:00",17.078504
"fr1.fr_uk1.uk","2005-06-12 04:45:00",35.828258
"gr1.gr_be1.be","2005-06-12 04:45:00",3.374157
"gr1.gr_de1.de","2005-06-12 04:45:00",3976.311229
"gr1.gr_it1.it","2005-06-12 04:45:00",0.046784
"it1.it_be1.be","2005-06-12 04:45:00",12.296485
"it1.it_es1.es","2005-06-12 04:45:00",18.296193
"it1.it_fr1.fr","2005-06-12 04:45:00",4.634694
"it1.it_gr1.gr","2005-06-12 04:45:00",0.255965
"pt1.pt_es1.es","2005-06-12 04:45:00",1.012388
"pt1.pt_fr1.fr","2005-06-12 04:45:00",0.612415
"pt1.pt_uk1.uk","2005-06-12 04:45:00",254.932438
"uk1.uk_be1.be","2005-06-12 04:45:00",0.815578
"uk1.uk_de1.de","2005-06-12 04:45:00",83.263213
"uk1.uk_fr1.fr","2005-06-12 04:45:00",16.271979
"uk1.uk_pt1.pt","2005-06-12 04:45:00",324.332057
"be1.be_de1.de","2005-07-30 02:00:00",40.205525
"be1.be_fr1.fr","2005-07-30 02:00:00",17.725783
"be1.be_gr1.gr","2005-07-30 02:00:00",0.013102
"be1.be_uk1.uk","2005-07-30 02:00:00",8.324196
"de1.de_be1.be","2005-07-30 02:00:00",29.881858
"de1.de_gr1.gr","2005-07-30 02:00:00",62.722043
"de1.de_uk1.uk","2005-07-30 02:00:00",216.185439
"es1.es_fr1.fr","2005-07-30 02:00:00",22.856548
"es1.es_it1.it","2005-07-30 02:00:00",11.847197
"es1.es_pt1.pt","2005-07-30 02:00:00",15.523204
"fr1.fr_be1.be","2005-07-30 02:00:00",7.983659
"fr1.fr_es1.es","2005-07-30 02:00:00",3.740785
"fr1.fr_it1.it","2005-07-30 02:00:00",0.502595
"fr1.fr_pt1.pt","2005-07-30 02:00:00",0.199565
"fr1.fr_uk1.uk","2005-07-30 02:00:00",12.856717
"gr1.gr_be1.be","2005-07-30 02:00:00",1.1077
"gr1.gr_de1.de","2005-07-30 02:00:00",3570.000337
"gr1.gr_it1.it","2005-07-30 02:00:00",4.323903
"it1.it_be1.be","2005-07-30 02:00:00",5.286414
"it1.it_es1.es","2005-07-30 02:00:00",121.213021
"it1.it_fr1.fr","2005-07-30 02:00:00",6.819559
"it1.it_gr1.gr","2005-07-30 02:00:00",1.487767
"pt1.pt_es1.es","2005-07-30 02:00:00",1.189291
"pt1.pt_fr1.fr","2005-07-30 02:00:00",1.43311
"pt1.pt_uk1.uk","2005-07-30 02:00:00",54.263399
"uk1.uk_be1.be","2005-07-30 02:00:00",2.675709
"uk1.uk_de1.de","2005-07-30 02:00:00",117.714986
"uk1.uk_fr1.fr","2005-07-30 02:00:00",35.445042
"uk1.uk_pt1.pt","2005-07-30 02:00:00",232.448872
"be1.be_de1.de","2005-05-24 00:00:00",7.462676
"be1.be_fr1.fr","2005-05-24 00:00:00",46.305493
"be1.be_gr1.gr","2005-05-24 00:00:00",0.260969
"be1.be_it1.it","2005-05-24 00:00:00",0.002643
"be1.be_uk1.uk","2005-05-24 00:00:00",21.759308
"de1.de_be1.be","2005-05-24 00:00:00",15.698308
"de1.de_gr1.gr","2005-05-24 00:00:00",2032.807459
"de1.de_uk1.uk","2005-05-24 00:00:00",550.498265
"es1.es_fr1.fr","2005-05-24 00:00:00",20.892334
"es1.es_it1.it","2005-05-24 00:00:00",99.741955
"es1.es_pt1.pt","2005-05-24 00:00:00",16.16261
"fr1.fr_be1.be","2005-05-24 00:00:00",2.836755
"fr1.fr_es1.es","2005-05-24 00:00:00",10.259564
"fr1.fr_it1.it","2005-05-24 00:00:00",2.967943
"fr1.fr_pt1.pt","2005-05-24 00:00:00",2.573705
"fr1.fr_uk1.uk","2005-05-24 00:00:00",40.368708
"gr1.gr_be1.be","2005-05-24 00:00:00",2.010099
"gr1.gr_de1.de","2005-05-24 00:00:00",4563.719698
"gr1.gr_it1.it","2005-05-24 00:00:00",3.384785
"it1.it_be1.be","2005-05-24 00:00:00",24.598593
"it1.it_es1.es","2005-05-24 00:00:00",123.836434
"it1.it_fr1.fr","2005-05-24 00:00:00",113.240327
"it1.it_gr1.gr","2005-05-24 00:00:00",23.121173
"pt1.pt_es1.es","2005-05-24 00:00:00",5.621496
"pt1.pt_fr1.fr","2005-05-24 00:00:00",0.128713
"pt1.pt_uk1.uk","2005-05-24 00:00:00",382.279278
"uk1.uk_be1.be","2005-05-24 00:00:00",2.423005
"uk1.uk_de1.de","2005-05-24 00:00:00",225.272469
"uk1.uk_fr1.fr","2005-05-24 00:00:00",29.664524
"uk1.uk_pt1.pt","2005-05-24 00:00:00",515.544459
"be1.be_de1.de","2005-07-08 22:45:00",41.721914
"be1.be_fr1.fr","2005-07-08 22:45:00",22.271518
"be1.be_uk1.uk","2005-07-08 22:45:00",0.565237
"de1.de_be1.be","2005-07-08 22:45:00",18.116253
"de1.de_gr1.gr","2005-07-08 22:45:00",84.363659
"de1.de_uk1.uk","2005-07-08 22:45:00",198.657985
"es1.es_fr1.fr","2005-07-08 22:45:00",26.077588
"es1.es_it1.it","2005-07-08 22:45:00",10.734268
"es1.es_pt1.pt","2005-07-08 22:45:00",3.212886
"fr1.fr_be1.be","2005-07-08 22:45:00",2.165579
"fr1.fr_es1.es","2005-07-08 22:45:00",49.61386
"fr1.fr_it1.it","2005-07-08 22:45:00",7.861918
"fr1.fr_pt1.pt","2005-07-08 22:45:00",1.42833
"fr1.fr_uk1.uk","2005-07-08 22:45:00",175.702188
"gr1.gr_be1.be","2005-07-08 22:45:00",2.705961
"gr1.gr_de1.de","2005-07-08 22:45:00",4139.070272
"gr1.gr_it1.it","2005-07-08 22:45:00",2.765173
"it1.it_be1.be","2005-07-08 22:45:00",22.960183
"it1.it_es1.es","2005-07-08 22:45:00",191.877562
"it1.it_fr1.fr","2005-07-08 22:45:00",10.385578
"it1.it_gr1.gr","2005-07-08 22:45:00",0.905886
"pt1.pt_es1.es","2005-07-08 22:45:00",6.78166
"pt1.pt_fr1.fr","2005-07-08 22:45:00",0.162677
"pt1.pt_uk1.uk","2005-07-08 22:45:00",131.320816
"uk1.uk_be1.be","2005-07-08 22:45:00",0.836384
"uk1.uk_de1.de","2005-07-08 22:45:00",547.487643
"uk1.uk_fr1.fr","2005-07-08 22:45:00",102.387861
"uk1.uk_pt1.pt","2005-07-08 22:45:00",381.91698
+0 −0

File changed.

Preview suppressed by a .gitattributes entry or the file's encoding is unsupported.

+0 −0

File deleted.

Preview suppressed by a .gitattributes entry or the file's encoding is unsupported.

Loading