Daniel Holmgren f293366e6a
Tweak timeline construction ()
* add idx to post table & tweak feed construction

* comment out migration & build branch

* split out queries

* couple tweaks

* bugfix in with-friends

* lower feed data threshold

* return to subquery

* log injection on tracing

* Tweak timeline migraiton ()

* v0.4.3

* tweak timeline migraiton

* misspelling

* move mutes & blocks to pds

* moar tweaks

* joins with 1 day cutoff

* no blocks/mutes on with friends

* attempt forcing custom plan

* increase feed date threshold

* trying something out

* trying something more

* tidy

* lower timeline date threshold

* tidy
2023-07-27 19:03:06 -05:00
..
2023-07-20 12:35:42 -05:00
2023-07-05 20:54:26 -05:00
2023-07-27 19:03:06 -05:00
2023-07-05 20:54:26 -05:00
2023-07-05 20:54:26 -05:00
2023-07-05 20:54:26 -05:00
2023-07-05 20:54:26 -05:00
2023-07-05 20:54:26 -05:00
2023-07-05 20:54:26 -05:00
2023-07-27 18:49:09 -05:00
2023-07-05 20:54:26 -05:00
2023-07-05 20:54:26 -05:00
2023-07-25 22:43:05 -05:00
2023-07-25 22:43:05 -05:00

Packages

Applications

  • PDS: The Personal Data Server (PDS). This is atproto's main server-side implementation.
  • Dev Env: A command-line application for developers to construct and manage development environments.
  • Lexicon CLI: A command-line application for generating code and documentation from Lexicon schemas.

Libraries

  • API: A library for communicating with atproto servers.
  • Common: A library containing code which is shared between atproto packages.
  • Crypto: Atproto's common cryptographic operations.
  • Identity: A library for resolving atproto DIDs and handles.
  • Lexicon: A library for validating data using atproto's schema system.
  • NSID: A parser and generator of NSIDs.
  • Repo: The "atproto repository" core implementation (a Merkle Search Tree).
  • URI: A parser and generator of at:// uris.
  • XRPC: An XRPC client implementation.
  • XRPC Server: An XRPC server implementation.

Benchmarking and profiling

Only applicable to packages which contain benchmarks(jest.bench.config.js).

You can run benchmarks with yarn bench.

Attaching a profiler

Running yarn bench:profile will launch bench with --inspect-brk flag. Execution will be paused until a debugger is attached, you can read more about node debuggers here

An easy way to profile is:

  1. open about://inspect in chrome
  2. select which process to connect to(there will probably only be one)
  3. go to performance tab
  4. press record, this will unpause execution
  5. wait for the benches to run
  6. finish recording