about summary refs log tree commit diff
path: root/tvix/docs
AgeCommit message (Collapse)AuthorFilesLines
2024-06-20 r/8301 docs(tvix): drop done TODOs in the O11Y sectionFlorian Klink1-8/+0
OTLP shutdown behaviour was fixed in cl/11803, and tracy landed in cl/10952 and cl/11815. Change-Id: I310dfcc41ba62ce5b006e75a35feb839327b0e7c Reviewed-on: https://cl.tvl.fyi/c/depot/+/11866 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Simon Hauser <simon.hauser@helsinki-systems.de> Tested-by: BuildkiteCI
2024-06-20 r/8299 feat(tvix/tracing): gRPC trace context propagationSimon Hauser1-3/+0
This introduces optional helper function in tvix/tracing for trace propagation and uses these helper in the `tvix-store`. The GRPCBlobService, GRPCDirectoryService and GRPCPathInfoService now accept a generic client, meaning the client can be generated with either `::new` or `::with_interceptor`. This was tested and validated by starting a `tvix-store daemon` and `tvix-store import`. Change-Id: I4b194483bf09266820104b4b56e4a135dca2b77a Reviewed-on: https://cl.tvl.fyi/c/depot/+/11863 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2024-06-20 r/8296 docs(tvix/docs): document nar renderer optimization potentialFlorian Klink1-0/+12
Change-Id: I747ab5c8ba3424828b1c88e0353170ad0efab3a6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11849 Tested-by: BuildkiteCI Reviewed-by: Simon Hauser <simon.hauser@helsinki-systems.de>
2024-06-15 r/8279 docs(tvix/TODO): dibs on crate2nix WASMIlan Joselevich1-1/+1
Change-Id: Idde9aaa31ecaa9570559ffe3271bc23b7a71133c Reviewed-on: https://cl.tvl.fyi/c/depot/+/11820 Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
2024-06-15 r/8278 docs(tvix/TODO): add builtins.path roundtrip for flatFlorian Klink1-0/+9
Change-Id: I8291d2fdfa2ea31ec24c82dcfb447fa9eaa3a961 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11819 Reviewed-by: Connor Brewster <cbrewster@hey.com> Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de>
2024-06-15 r/8277 docs(tvix/*store): add some internal linksFlorian Klink4-5/+5
We can now cross-link between pages, and it actually works. Change-Id: Id8bd85111672c687118db9adae7f5066f22441f5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11817 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
2024-06-15 r/8276 docs(tvix/TODO): drop builtins:fetchurl itemFlorian Klink1-4/+0
This has been implemented in cl/11786, cl/11790 and cl/10975. This includes support for the `executable` and `unpack` variants of it. Change-Id: I5bcad5b8e86b9fd341219a59ba86660b692e66e8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11818 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Reviewed-by: Connor Brewster <cbrewster@hey.com>
2024-06-14 r/8273 fix(tvix/tracing): reduce the error logs of otlp if collector is offlineSimon Hauser1-10/+0
The problem is that opentelemetry_otlp tonic batch exporter tries to exports if either the `scheduled_delay` or if the `max_export_batch_size` is reached. Per default the `max_export_batch_size` is set to 512 spans, which means that we try to export these spans once that counter is reached. Each export will then try to connect to the exporter (if that not already happening) and will result in a `tcp connect error`. Increasing the max_export_batch_size to 4096 will then ensure that the export only happens if the `scheduled_delay` is met after the 10 seconds. `max_queue_size` is also increased, because `max_export_batch_size` should not be greater than `max_queue_size`, so similar to the default config its set to `max_export_batch_size * 4`. This will reduce the amount of tries to otlp if the collector is not available and otlp enabled. Change-Id: Ic3430006e8a104fa3b34d274678cae55b3620ce9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11791 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Autosubmit: Simon Hauser <simon.hauser@helsinki-systems.de>
2024-06-14 r/8270 chore(tvix/eval): move eval docs to tvix/docsFlorian Klink12-0/+1618
Change-Id: I75b33c43456389de6e521b4f0ad46d68bc9e98f6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11809 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-06-14 r/8269 chore(tvix/docs): move [ca]store docs to tvix/docsFlorian Klink6-0/+653
Change-Id: Idd78ffae34b6ea7b93d13de73b98c61a348869fb Reviewed-on: https://cl.tvl.fyi/c/depot/+/11808 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: flokli <flokli@flokli.de>
2024-06-14 r/8268 feat(tvix/docs): add d2 supportFlorian Klink2-0/+6
This provides a nicer syntax to draw some diagrams. Change-Id: I2ab580e61399a45f01ed422ee29382e860753ffa Reviewed-on: https://cl.tvl.fyi/c/depot/+/11807 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: yuka <yuka@yuka.dev>
2024-06-14 r/8267 feat(tvix/docs): add mdbook-admonishFlorian Klink4-0/+368
This provides a plugin for callouts. It needs to have additional CSS file added to `book.toml`, which can be (re-)generated by `mdbook-admonish install`. See https://github.com/tommilligan/mdbook-admonish/issues/171#issuecomment-2009166079 for more context. Use it by adding a warning one to the architecture document. Change-Id: I75c9a33d00acb603c6da10d3f9ce3485731c1672 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11805 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: yuka <yuka@yuka.dev>
2024-06-13 r/8264 chore(tvix/docs): move daemon protocol to its own chapterFlorian Klink2-4/+20
… and add an introductionary page at the root. Change-Id: I89ce69a4221c332b7c0d99ac26b4e26bfd248341 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11806 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: Brian Olsen <me@griff.name>
2024-06-11 r/8246 docs(tvix/docs/TODO): document ChunkService split ideaFlorian Klink1-1/+16
Change-Id: Ie9c88b0d14902c642e2d3d6603265688eef0e10d Reviewed-on: https://cl.tvl.fyi/c/depot/+/11755 Reviewed-by: yuka <yuka@yuka.dev> Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de>
2024-06-10 r/8242 feat(tvix/tracing): introduce common tvix-tracing crateSimon Hauser1-8/+3
Introduce a new common crate that contains tracing boilerplate which then can be used in the cli, tvix-store and tvix-build crates. It has otlp as an optional feature, which is currently only used by tvix-store. Change-Id: I41468ac4d9c65174515d721513b96fea463d6ed2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11758 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Autosubmit: Simon Hauser <simon.hauser@helsinki-systems.de>
2024-06-10 r/8241 docs(tvix/docs/TODO): document attempt to add more granular errorsFlorian Klink1-0/+8
Change-Id: I46f99d15a4ce9c98dcdad822d3032bda3b09c12f Reviewed-on: https://cl.tvl.fyi/c/depot/+/11754 Reviewed-by: flokli <flokli@flokli.de> Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Simon Hauser <simon.hauser@helsinki-systems.de> Tested-by: BuildkiteCI
2024-06-10 r/8239 docs(tvix/docs/TODO): document crate2nix for WASM attemptsFlorian Klink1-0/+26
I tried moving web/tvixbolt to tvix/tvixbolt, and adding it to the cargo workspace. I then made `crates =` in `default.nix` a function accepting `pkgs` (so we can pass in another nixpkgs for some invocations), and then constructed another nixpkgs and crates instance like this: ``` pkgs-wasm = (import pkgs.path { localSystem = localSystem; crossSystem = { system = localSystem; rustc.config = "wasm32-unknown-unknown"; }; } crates-wasm = (crates pkgs-wasm); tvixbolt-test = crates-wasm.workspaceMembers.tvixbolt.build; ``` … leading to the architecture build failures described in the TODO. Change-Id: I32112d75f8c098d9810ca52b2d07cd76fae8d8d7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11777 Reviewed-by: flokli <flokli@flokli.de> Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2024-06-05 r/8216 docs(tvix/docs/TODO): expand Store Composition config sectionFlorian Klink1-3/+27
Write down some of the thoughts after brainstorming with yuka. Change-Id: I01c94474dc643b8c4993db80e50d3ec65f5c17f4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11749 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: yuka <yuka@yuka.dev>
2024-06-05 r/8214 docs(tvix/docs/TODO): extend O11Y sectionFlorian Klink1-6/+33
Expand on tvix-tracing crate strategy, add some more context regarding OTLP and span propagation. Change-Id: Ice55c116c20aaf60531100465192ce11969551ac Reviewed-on: https://cl.tvl.fyi/c/depot/+/11750 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: Simon Hauser <simon.hauser@helsinki-systems.de> Reviewed-by: flokli <flokli@flokli.de>
2024-05-23 r/8166 docs(tvix/docs/TODO): add item for string context reworkFlorian Klink1-0/+9
Change-Id: I4592490a75fb05093b3fd8649db3b57bff748c0d Reviewed-on: https://cl.tvl.fyi/c/depot/+/11707 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: edef <edef@edef.eu> Tested-by: BuildkiteCI
2024-05-23 r/8165 docs(tvix/TODO): toXML string context and self-closing tags is doneFlorian Klink1-3/+0
Change-Id: I83f6b1863a023ea0bf8518c67eb51f740c3ea89a Reviewed-on: https://cl.tvl.fyi/c/depot/+/11706 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: Alyssa Ross <hi@alyssa.is>
2024-05-16 r/8154 docs(tvix): Begin documenting the Nix daemon protocolBrian Olsen5-0/+1527
This adds rough notes documenting the history of the Nix daemon protocol, how logging works as well as begins documenting inputs and outputs for all operations. Change-Id: Id24a9a658c3e4e7c350ca1e4622f63ed96ccef5a Reviewed-on: https://cl.tvl.fyi/c/depot/+/11594 Reviewed-by: Adam Joseph <adam@westernsemico.com> Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2024-05-11 r/8111 docs(tvix/docs): async nar reader is doneFlorian Klink1-4/+1
Change-Id: I4e8fd03d521b7d30904f84a6afcf842f1505ec7b Reviewed-on: https://cl.tvl.fyi/c/depot/+/11628 Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: flokli <flokli@flokli.de>
2024-05-11 r/8110 docs(tvix/todo): add section on [ca]store errorsFlorian Klink1-0/+7
Change-Id: I832eed8abb62b7e13972ed58649a96e31b17f033 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11610 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Connor Brewster <cbrewster@hey.com>
2024-05-11 r/8109 docs(tvix/todo): update test suite sectionFlorian Klink1-4/+13
nix_oracle is quite misleading, and fooled me into thinking this validates all .exp files in the repo to match Nix output (which it doesn't, that's done by verify-lang-tests). Also, the whole test suite structure thing can use a bit more explanation. Change-Id: I2fadcc871843143270ad2ed9ac98de8287280e6f Reviewed-on: https://cl.tvl.fyi/c/depot/+/11609 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Connor Brewster <cbrewster@hey.com>
2024-04-25 r/8005 docs(tvix): add a list of TODOs/ideasFlorian Klink2-0/+130
This contains a rough collection of ideas on the TODO list, trying to keep track of it somewhere. Change-Id: Ifc5b0cf9f7ac38f7a8e56515882bdf70e349544b Reviewed-on: https://cl.tvl.fyi/c/depot/+/11512 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: picnoir picnoir <picnoir@alternativebit.fr>
2024-03-03 r/7647 docs(tvix): remove differences-drv-paths.mdFlorian Klink2-36/+0
This was true while we didn't do string contexts, but drvPath should not differ anymore. Change-Id: I58e6ed439519bd4d68259d1577946f3c65110dc4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11074 Tested-by: BuildkiteCI Reviewed-by: edef <edef@edef.eu> Autosubmit: flokli <flokli@flokli.de>
2024-03-03 r/7646 feat(tvix/docs): ship custom highlight.js with Nix supportFlorian Klink1-0/+590
Selected languages: - bash - c - cpp - diff - go - ini - json - markdown - nix - protobuf - rust - shell - xml - yaml Created with https://highlightjs.org/download Change-Id: I76a87d2c1e9fa582d1474f8ffb9f3129e9a858bb Reviewed-on: https://cl.tvl.fyi/c/depot/+/11073 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: edef <edef@edef.eu> Tested-by: BuildkiteCI
2024-03-03 r/7645 feat(tvix/docs): switch to mdbookFlorian Klink11-96/+46
Some of the docs are still outdated (like architecture and drv path inconsistencies). Change-Id: I7a6afceb008ef4cd19a764dd6c637b39fa842a2e Reviewed-on: https://cl.tvl.fyi/c/depot/+/11072 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: edef <edef@edef.eu>
2024-02-19 r/7554 fix(tvix/docs): update builder magic stringFlorian Klink1-1/+1
It's `builtin:fetchurl`, not `builtins:fetchurl`. Change-Id: I2e90fce5feecc75257a5156aee12e0737a525175 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10961 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: aspen <root@gws.fyi>
2023-08-20 r/6510 docs(tvix/docs): add document about drvPath differencesFlorian Klink1-0/+46
This question popped up every once in a while. While already explained quite well at https://inbox.tvl.su/depot/20230316120039.j4fkp3puzrtbjcpi@tp/T/#t, it's not easily accessible. Lift it from there into tvix/docs for better visibility. Change-Id: I5f2d4aff31ab4adc421e06a7d36c871f45e09100 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9080 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: raitobezarius <tvl@lahfa.xyz> Tested-by: BuildkiteCI
2023-07-11 r/6405 docs(tvix): document when pointer equality is preserved in C++ Nixsterni1-1/+130
This explicitly documents behavior of C++ Nix that goes against the intuition you'd gather from this document: that e.g. a simple select from an attribute set causes a value to no longer be pointer equal to its former self. The point of documenting this is that we can show in a to be written section on the use of pointer equality in nixpkgs that pointer equality is only needed in a limited sense for evaluating it (C++ Nix's exterior pointer equality). Tvix's pointer equality is far more powerful since value identity preserving operations also preserve pointer equality, generally speaking (this is because we implement interior pointer equality in my made up terminology). This should eventually also be documented. Change-Id: I6ce7ef2d67b012f5ebc92f9e81bba33fb9dce7d0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8856 Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <tazjin@tvl.su>
2023-07-01 r/6380 docs(tvix): update C++ Nix code links for pointer equalitysterni1-5/+6
Change-Id: Icfd79b36c09607b4183e7378cd3c17f6238297b2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8853 Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2023-07-01 r/6379 docs(tvix): start restructuring pointer equality documentsterni1-20/+26
I want to expand on the C++ Nix behavior, since it seems relevant to note that a lot of operations in C++ Nix (like select) don't preserve pointer equality (see <https://github.com/NixOS/nix/issues/3371#issuecomment-1596167957>). It is especially so, as Tvix establishes pointer equality in a different way and thus shows differing behavior. Therefore I want to additionally document Tvix's current behavior and make it more explicit to what extent nixpkgs needs pointer equality. Change-Id: I9b4ba75dacb749c9fcbba4b9646c6b48bb57bbad Reviewed-on: https://cl.tvl.fyi/c/depot/+/8852 Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2023-06-14 r/6296 docs(tvix): mention langVersion >= 5 check in nixpkgssterni1-2/+4
Change-Id: I7aae900012e901fa4d886b1a4bf0657d593e4983 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8771 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-01-25 r/5759 docs(tvix): fix minor spelling problems in pointer equality documentsterni1-4/+4
Main one is the its-it's mistake in the last paragraph, the rest was suggested by LanguageTool. Change-Id: If1b87a11f480452f312fc2759be7ded782d0a522 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7930 Reviewed-by: flokli <flokli@flokli.de> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-01-16 r/5662 docs(tvix): add reconstructed changelog for the Nix languagesterni1-0/+60
This was put together by digging through the C++ Nix git history as described in the second paragraph. Note that this is only based on changes given when the language version was actually increased. There is no guarantee that there have been no other changes inbetween that would have warranted an increase as well. Change-Id: I4ddee0d4ecafa1b3e5e1a867e9700d6c32e936ad Reviewed-on: https://cl.tvl.fyi/c/depot/+/7836 Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <tazjin@tvl.su>
2022-11-25 r/5317 docs(tvix): document pointer equality in (C++) Nixsterni1-0/+202
semi-obscure = #nix-lang on freenode Change-Id: Id235f7019bbee137bbde57a552c755261e23b58f Reviewed-on: https://cl.tvl.fyi/c/depot/+/7368 Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: Adam Joseph <adam@westernsemico.com> Tested-by: BuildkiteCI
2022-09-16 r/4870 docs(tvix): Update components.mdFlorian Klink2-31/+63
This extends various ideas around the store and its slightly different internal model. Thanks to store composition, lazy substitution and more efficient transfer, we can also simplify some complicated logic while building. Change-Id: Ib3380af650fe06e114f54e8dc2df231f18af876b Reviewed-on: https://cl.tvl.fyi/c/depot/+/6585 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-01-31 r/3723 style: format entire depot with nixpkgs-fmtVincent Ambo1-4/+5
This CL can be used to compare the style of nixpkgs-fmt against other formatters (nixpkgs, alejandra). Change-Id: I87c6abff6bcb546b02ead15ad0405f81e01b6d9e Reviewed-on: https://cl.tvl.fyi/c/depot/+/4397 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: wpcarro <wpcarro@gmail.com> Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: cynthia <cynthia@tvl.fyi> Reviewed-by: edef <edef@edef.eu> Reviewed-by: eta <tvl@eta.st> Reviewed-by: grfn <grfn@gws.fyi>
2021-04-24 r/2548 docs(tvix): Begin specification of the Nix languageVincent Ambo1-0/+78
This is only the introductory text, without any of the components specified so far. Change-Id: I6cd8eff6ec2daf14cc2420ee0a8e8983bfaa57d9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3052 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: flokli <flokli@flokli.de> Reviewed-by: sterni <sternenseemann@systemli.org>
2021-03-31 r/2379 chore(tvix): Make docs multi outputadisbladis1-0/+7
We also want to access the produced SVGs separately. Change-Id: I5bdfd95b8a56323ed8bf5f4585b703f6e728c677 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2742 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-03-31 r/2378 chore(tvix/docs): move from docFlorian Klink5-0/+241
Most other docs folders in the repo are called `doc` too, let's make this consistent. Change-Id: Icd712429b51763076548c977321e370f2a77877e Reviewed-on: https://cl.tvl.fyi/c/depot/+/2741 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>