mirror of
https://github.com/planetmint/planetmint.git
synced 2025-03-30 15:08:31 +00:00
added energe metering
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
This commit is contained in:
parent
e41ce5df76
commit
31bb4a6134
@ -37,6 +37,9 @@ from planetmint.validation import BaseValidationRules
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
from pyJoules.energy_meter import measure_energy
|
||||
from planetmint.meter import csv_handler, create_handler
|
||||
|
||||
|
||||
class Planetmint(object):
|
||||
"""Planetmint API
|
||||
@ -74,6 +77,8 @@ class Planetmint(object):
|
||||
else:
|
||||
self.validation = BaseValidationRules
|
||||
self.connection = connection if connection is not None else planetmint.backend.connect()
|
||||
create_handler()
|
||||
|
||||
|
||||
def post_transaction(self, transaction, mode):
|
||||
"""Submit a valid transaction to the mempool."""
|
||||
@ -358,6 +363,7 @@ class Planetmint(object):
|
||||
|
||||
return [block["height"] for block in blocks]
|
||||
|
||||
@measure_energy(handler=csv_handler)
|
||||
def validate_transaction(self, tx, current_transactions=[]):
|
||||
"""Validate a transaction against the current status of the database."""
|
||||
|
||||
|
14
planetmint/meter.py
Normal file
14
planetmint/meter.py
Normal file
@ -0,0 +1,14 @@
|
||||
from pyJoules.handler.csv_handler import CSVHandler
|
||||
import random
|
||||
|
||||
|
||||
filename = '/tmp/result' + str( random.randint(0,1000) ) + '.csv'
|
||||
csv_handler = CSVHandler(filename)
|
||||
|
||||
def create_handler():
|
||||
filename = '/tmp/result' + str( random.randint(0,1000) ) + '.csv'
|
||||
csv_handler = CSVHandler(filename)
|
||||
|
||||
|
||||
|
||||
|
@ -13,7 +13,7 @@ from planetmint.parallel_validation import ParallelValidationApp
|
||||
from planetmint.web import server, websocket_server
|
||||
from planetmint.events import Exchange, EventTypes
|
||||
from planetmint.utils import Process
|
||||
|
||||
from planetmint.meter import csv_handler, create_handler
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@ -39,6 +39,7 @@ def start(args):
|
||||
logger.info("Starting Planetmint")
|
||||
exchange = Exchange()
|
||||
# start the web api
|
||||
create_handler()
|
||||
app_server = server.create_server(
|
||||
settings=Config().get()["server"], log_config=Config().get()["log"], planetmint_factory=Planetmint
|
||||
)
|
||||
@ -80,7 +81,7 @@ def start(args):
|
||||
)
|
||||
)
|
||||
app.run()
|
||||
|
||||
csv_handler.save_data()
|
||||
|
||||
if __name__ == "__main__":
|
||||
start()
|
||||
|
Loading…
x
Reference in New Issue
Block a user