Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#10724 closed enhancement (fixed)

Make BridgeDB's use of Stability.addOrUpdateBridgeHistory() configurable.

Reported by: isis Owned by: isis
Priority: Medium Milestone:
Component: Circumvention/BridgeDB Version:
Severity: Keywords: bridgedb-unittests, bridgedb-parsers, bridgedb-database, bridgedb-0.1.1
Cc: isis, sysrqb, aagbsn, karsten Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

I thought I remembered a ticket where sysrqb stated something to the effect of

I profiled the startup of BridgeDB, and 80% of the ~25 minute startup time is spent in the Stability.addOrUpdateBridgeHistory() function...

but now I can't find it. Either way, it's true that most of the startup time is spent in this function. During that time, the servers are down, because BridgeDB's database transactions aren't threaded (see #5232). That function is called from Main.load(); it collects all the timestamps for all bridges, does a lot of expensive sort()ing of them, and then the transactions... and I'm not even certain if Metrics uses this data (or if anything uses this data).

I kind of don't want to touch it until I understand more about why it was put there, but for the staging instance (#10723) startup times of ~25 minutes is rather painful. I propose adding a COLLECT_TIMESTAMPS option in the config file, and if False then skip that block of code in Main.load().

Child Tickets

Change History (2)

comment:1 Changed 6 years ago by isis

Status: newneeds_review

Added in my branch feature/10724-collect-timestamps-option. And the config changes are added to the bridgedb-admin repo here and here, for the production and staging instances respectively.

comment:2 Changed 6 years ago by isis

Keywords: bridgedb-0.1.1 added
Resolution: fixed
Status: needs_reviewclosed

This was merged into bridgedb-0.1.1.

Last edited 6 years ago by isis (previous) (diff)
Note: See TracTickets for help on using tickets.