making it compatible with dev branch
This commit is contained in:
parent
1e4bd091ab
commit
2d77ab38e5
|
@ -12,14 +12,15 @@ def find_block_by_slotnumber(slot_number: int):
|
|||
SELECT * FROM (
|
||||
SELECT
|
||||
slot,
|
||||
block_hash,
|
||||
block_hash,e
|
||||
leader_identity,
|
||||
processed_transactions,
|
||||
successful_transactions,
|
||||
banking_stage_errors,
|
||||
total_cu_used,
|
||||
total_cu_requested,
|
||||
heavily_writelocked_accounts
|
||||
heavily_writelocked_accounts,
|
||||
heavily_readlocked_accounts,
|
||||
FROM banking_stage_results.blocks
|
||||
-- this critera uses index idx_blocks_slot
|
||||
WHERE slot = %s
|
||||
|
@ -35,25 +36,22 @@ def find_block_by_slotnumber(slot_number: int):
|
|||
# format see BankingStageErrorsTrackingSidecar -> block_info.rs
|
||||
# parse (k:GubTBrbgk9JwkwX1FkXvsrF1UC2AP7iTgg8SGtgH14QE, cu_req:600000, cu_con:2243126)
|
||||
|
||||
parsed_accounts = []
|
||||
for acc in row["heavily_writelocked_accounts"]:
|
||||
(k, cu_req, cu_con) = parse_accounts(acc)
|
||||
parsed = {'k': k, 'cu_req': cu_req, 'cu_con': cu_con}
|
||||
parsed_accounts.append(parsed)
|
||||
|
||||
parsed_accounts.sort(key=lambda acc: int(acc['cu_con']), reverse=True)
|
||||
parsed_accounts = row["heavily_writelocked_accounts"]
|
||||
parsed_accounts.sort(key=lambda acc: int(acc['cu_consumed']), reverse=True)
|
||||
row["heavily_writelocked_accounts_parsed"] = parsed_accounts
|
||||
|
||||
parsed_accounts = row["heavily_readlocked_accounts"]
|
||||
parsed_accounts.sort(key=lambda acc: int(acc['cu_consumed']), reverse=True)
|
||||
row["heavily_readlocked_accounts_parsed"] = parsed_accounts
|
||||
|
||||
return maprows
|
||||
|
||||
|
||||
|
||||
# parse (k:GubTBrbgk9JwkwX1FkXvsrF1UC2AP7iTgg8SGtgH14QE, cu_req:600000, cu_con:2243126)
|
||||
def parse_accounts(acc):
|
||||
groups = re.match(r"\((k:)(?P<k>[a-zA-Z0-9]+)(, cu_req:)(?P<cu_req>[0-9]+)(, cu_con:)(?P<cu_con>[0-9]+)\)", acc)
|
||||
return (groups.group('k'), groups.group('cu_req'), groups.group('cu_con'))
|
||||
|
||||
|
||||
# def parse_accounts(acc):
|
||||
# groups = re.match(r"\((k:)(?P<k>[a-zA-Z0-9]+)(, cu_req:)(?P<cu_req>[0-9]+)(, cu_con:)(?P<cu_con>[0-9]+)\)", acc)
|
||||
# return (groups.group('k'), groups.group('cu_req'), groups.group('cu_con'))
|
||||
|
||||
def main():
|
||||
find_block_by_slotnumber(226352855)
|
||||
|
|
|
@ -31,9 +31,9 @@
|
|||
<div class="align-items-center text-truncate" style="width:300px">
|
||||
<span class="font-monospace">
|
||||
{% if tx.is_executed %}
|
||||
<a href="https://explorer.solana.com/tx/{{ tx.signature }}?cluster={{config.cluster}}">{{ tx.signature }}</a>
|
||||
<a href="https://explorer.solana.com/tx/{{tx.signature}}?cluster={{config.cluster}}">{{tx.signature}}</a>
|
||||
{% else %}
|
||||
{{ tx.signature }}
|
||||
{{tx.signature}}
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
|
@ -45,7 +45,22 @@
|
|||
<tr>
|
||||
<td>
|
||||
<span class="font-monospace text-danger">
|
||||
{{ error }}
|
||||
{{error}}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="d-flex align-items-left">
|
||||
<table>
|
||||
{% for account_used in tx.account_used_array %}
|
||||
<tr>
|
||||
<td>
|
||||
<span class="font-monospace text-danger">
|
||||
{{account_used}}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -89,6 +89,21 @@
|
|||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
<tbody>
|
||||
{% for read_account in block.heavily_readlocked_accounts_parsed %}
|
||||
<tr>
|
||||
<td>
|
||||
<a href="https://explorer.solana.com/account/{{ write_account.k }}?cluster={{config.cluster}}">
|
||||
<div class="d-none d-lg-flex align-items-center "><span class="font-size-tiny me-2"><span
|
||||
class=""></span></span><span
|
||||
class="font-monospace"><span class="">{{read_account.k}}</span></span>
|
||||
</div>
|
||||
</a></td>
|
||||
<td>{{read_account.cu_req}}</td>
|
||||
<td>{{read_account.cu_con}}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import postgres_connection
|
||||
|
||||
import json
|
||||
|
||||
def run_query():
|
||||
con = postgres_connection.create_connection()
|
||||
|
@ -37,8 +37,8 @@ def run_query():
|
|||
|
||||
for index, row in enumerate(maprows):
|
||||
row['pos'] = index + 1
|
||||
# note: type changed from 'text' to 'text[]'
|
||||
row['errors_array'] = row['errors']
|
||||
row['errors_array'] = json.loads(row['errors'])
|
||||
row['accounts_used_array'] = json.loads(row['accounts_used'])
|
||||
|
||||
return maprows
|
||||
|
||||
|
@ -74,8 +74,8 @@ def find_transaction_by_sig(tx_sig: str):
|
|||
assert len(maprows) <= 1, "Tx Sig is primary key - find zero or one"
|
||||
|
||||
for row in maprows:
|
||||
# note: type changed from 'text' to 'text[]'
|
||||
row['errors_array'] = row['errors']
|
||||
row['errors_array'] = json.loads(row['errors'])
|
||||
row['accounts_used_array'] = json.loads(row['accounts_used'])
|
||||
|
||||
return maprows
|
||||
|
||||
|
|
Loading…
Reference in New Issue