googlechromelabs / lighthouse-keeper Goto Github PK
View Code? Open in Web Editor NEWCollects and displays Lighthouse data over time
License: Apache License 2.0
Collects and displays Lighthouse data over time
License: Apache License 2.0
Hello,
I tried to run the service locally; However I can't because
You will be prompted to for a passphrase to decrypt serviceAccount.json.enc and memcacheCredentials.json.enc. These files are required for the backend to communicate with Firestore and the Redis memcache service. The password can be found in Google's shared password tool.
so I guess this project was an internal thing and now it's something public on the internet.
How to make possible run my own version of the service? What's the format the configuration file should be followed?
To count the number of URLs in the system, lighthouse-keeper does a cron which queries the db in 5000 record chunks. It seems like a more efficient approach might be to use the FieldValue API to increment a counter whenever a record gets added, and to decrement the counter when old records get removed.
A user should only be able to see historical data for a URL from the point in which they began tracking it. They should not be able to use something like curl to send a timestamp that's one day earlier and see the previous day's results.
For dev/testing, it would be a good idea to keep our prod data separate from dev. Especially once we have users :)
And probably control it with an ENV flag when you start server.mjs.
Ewa put in deletion APIs for the cron. We can reuse those:
await Promise.all(urls.map(url => {
return lighthouse.deleteReports(url).then(() => lighthouse.deleteMetadata(url));
}));
In lighthouse-data.mjs there are opportunities to parallelize some of the promises in saveReport. We touch memcache, firestore several times, and cloudstorage to update metadata, cache entries, and (re-save) reports.
We could push some of these onto an array and use await Promise.all()
.
I'll explore this once https://github.com/GoogleChrome/lighthouse-keeper/pull/10/files is in. Want to benchmark it too :)
If an owner pings us and asks that we prevent anyone from tracking their URL, we should be able to blacklist it and inform folks with an error message. E.g. "The owner of this domain has disabled tracking for it." or something like that.
Hi, I am following with README to decrypt the service account and memcache JSON files
when I set a simple passphrase, I got error as below:
enter aes-256-cbc decryption password:
bad decrypt
4521469548:error:06FFF064:digital envelope routines:CRYPTO_internal:bad decrypt:/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-22.260.1/libressl-2.6/crypto/evp/evp_enc.c:533:
I would like to know is this passphrase connectted with other account or just simple passphrase for my local.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.