Commit Graph

8971 Commits

Author SHA1 Message Date
4f9539d91e Simplify MemoryStats fetching 2024-02-07 10:09:47 +01:00
15579667d4 add back the actix-web logs 2024-02-07 09:20:18 +01:00
32529d7442 logs route profile mode: don't barf bytes if the buffer is not empty 2024-02-06 18:24:02 +01:00
6f3420f114 Replace the procfs by libproc 2024-02-06 18:22:01 +01:00
86bad58c9a spanstats: change field names 2024-02-06 17:50:19 +01:00
a874dbc841 tracing-trace: Spanstats deserializable + public fields 2024-02-06 17:50:19 +01:00
6e772effcb Replace stats_alloc with procfs 2024-02-06 15:21:47 +01:00
3331995976 get rids of log in milli and add logs for the bucket sort 2024-02-06 10:49:23 +01:00
35d8546fc3 fix the auth 2024-02-05 14:14:13 +01:00
53a0daf018 fix the tests and add tests on the experimental features 2024-02-05 14:05:24 +01:00
1ab9d9bdf2 hide the route logs behind a feature flag 2024-02-05 13:31:46 +01:00
e2b2c55c79 handle and tests errors 2024-02-05 11:52:05 +01:00
40487194a7 add a test 2024-02-01 18:02:02 +01:00
995d6ee81d meilisearch: logs route disconnects in profile mode 2024-01-31 17:54:01 +01:00
ba838d1759 meilisearch: don't spawn a report everytime Meilisearch starts 2024-01-31 17:54:01 +01:00
e3be095617 tracing-trace: introduce TraceWriter, trace now only exposes the channel 2024-01-31 17:54:01 +01:00
ab9ecb28cc tracing-trace: implement Error on Error 2024-01-31 17:54:01 +01:00
98e946cc6c get rids of env loggegr and fix the tests 2024-01-31 17:46:36 +01:00
362ead123a stops profiling in a file by default 2024-01-31 17:21:27 +01:00
9ca4db6ef0 Add cancel log route 2024-01-30 18:15:53 +01:00
2f484b7382 start handling reloads with profiling 2024-01-30 16:31:42 +01:00
a144ae10d2 start exposing the profiling layer 2024-01-30 14:19:46 +01:00
8b3e0b3826 Add dummy log when calling tasks 2024-01-30 12:28:03 +01:00
9507a20d8b Simplify stream implementation 2024-01-30 12:27:49 +01:00
31df954aa5 better than before??? 2024-01-29 18:45:55 +01:00
894c92cd5a make it compile and runtime error 2024-01-29 17:56:43 +01:00
279c56a665 init commit 2024-01-29 13:36:10 +01:00
9736424142 WIP: first draft at introducing a new log route 2024-01-25 18:09:50 +01:00
2224548add nelson is not used anymore 2024-01-24 15:13:34 +01:00
7f7b1b9269 use json lines 2024-01-24 11:16:41 +01:00
75a17bd065 Add span stats processor 2024-01-24 09:50:51 +01:00
20c75aa85c Use with tokio channel in Meilisearch 2024-01-23 16:53:05 +01:00
07263bc0d7 Switch to tokio channel 2024-01-23 16:52:48 +01:00
eb5c725931 Support Events in trace layer 2024-01-23 16:25:05 +01:00
ef49ae7d6f Switch to a single view indicating current usage 2024-01-23 14:37:29 +01:00
879aa786a5 Refactor memory handling and add markers 2024-01-23 14:37:29 +01:00
33cbbfbe68 Remove the stats_alloc from the default features 2024-01-23 14:37:29 +01:00
b72146eee4 Give the allocator to the tracer when necessary 2024-01-23 14:37:29 +01:00
803f5a7936 Format the bytes as human readable bytes
Uses the same `byte_unit` version as `meilisearch`
2024-01-23 14:37:29 +01:00
b177ed5696 Logging the memory usage over time 2024-01-23 14:37:29 +01:00
789e5a9aff Add tracing to Meilisearch 2024-01-23 10:03:31 +01:00
f48fc2e425 Add tracing to milli 2024-01-23 10:03:31 +01:00
34a4a0520f Add tracing to index-scheduler 2024-01-23 10:03:26 +01:00
117e43a9ec Add tracing-trace 2024-01-23 09:40:07 +01:00
b6fc181993 Merge #4304
4304: Add CUDA GPU support for Hugging Face embedders r=Kerollmops a=dureuill

Adds a "cuda" feature to `milli`.

Compiling with this feature requires that the CUDA support library be installed (see "with CUDA support" paragraph in https://huggingface.github.io/candle/guide/installation.html), and adds CUDA support to the `huggingFace` embedder.

To enable GPU support, users will need to:

1. Have a compatible NVidia GPU under Linux
2. Follow [the guide](https://huggingface.github.io/candle/guide/installation.html) to install the CUDA dependencies
3. Compile Meilisearch with the `cuda` feature: `cargo build --release --features cuda`

# Impact

Enabling the CUDA feature allows to use an available GPU to compute embeddings with a `huggingFace` embedder. 
On an AWS Graviton 2, this yields a x3 - x5 improvement on indexing time.

# Technical details

- I had to change the CI so that the cuda feature is not included in the `Tests all features` workflow
- To achieve that, I had to add a binary following the `cargo xtask` design pattern, to list all features excepted the cuda one.
- I then changed the workflow accordingly (renamed to "Tests almost all features" 😉)
- A test run of the new feature was done on a temporary version of this PR that had it enabled for PRs: [See the results here](https://github.com/meilisearch/meilisearch/actions/runs/7461331929/job/20301216732)

Co-authored-by: Louis Dureuil <louis@meilisearch.com>
2024-01-22 13:55:04 +00:00
388fce9e46 Merge #4345
4345: Bump h2 from 0.3.20 to 0.3.24 r=curquiza a=dependabot[bot]

Bumps [h2](https://github.com/hyperium/h2) from 0.3.20 to 0.3.24.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/hyperium/h2/releases">h2's releases</a>.</em></p>
<blockquote>
<h2>v0.3.24</h2>
<h2>Fixed</h2>
<ul>
<li>Limit error resets for misbehaving connections.</li>
</ul>
<h2>v0.3.23</h2>
<h2>What's Changed</h2>
<ul>
<li>cherry-pick fix: streams awaiting capacity lockout in <a href="https://redirect.github.com/hyperium/h2/pull/734">hyperium/h2#734</a></li>
</ul>
<h2>v0.3.22</h2>
<h2>What's Changed</h2>
<ul>
<li>Add <code>header_table_size(usize)</code> option to client and server builders.</li>
<li>Improve throughput when vectored IO is not available.</li>
<li>Update indexmap to 2.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/tottoto"><code>`@​tottoto</code></a>` made their first contribution in <a href="https://redirect.github.com/hyperium/h2/pull/714">hyperium/h2#714</a></li>
<li><a href="https://github.com/xiaoyawei"><code>`@​xiaoyawei</code></a>` made their first contribution in <a href="https://redirect.github.com/hyperium/h2/pull/712">hyperium/h2#712</a></li>
<li><a href="https://github.com/Protryon"><code>`@​Protryon</code></a>` made their first contribution in <a href="https://redirect.github.com/hyperium/h2/pull/719">hyperium/h2#719</a></li>
<li><a href="https://github.com/4JX"><code>`@​4JX</code></a>` made their first contribution in <a href="https://redirect.github.com/hyperium/h2/pull/638">hyperium/h2#638</a></li>
<li><a href="https://github.com/vuittont60"><code>`@​vuittont60</code></a>` made their first contribution in <a href="https://redirect.github.com/hyperium/h2/pull/724">hyperium/h2#724</a></li>
</ul>
<h2>v0.3.21</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix opening of new streams over peer's max concurrent limit.</li>
<li>Fix <code>RecvStream</code> to return data even if it has received a <code>CANCEL</code> stream error.</li>
<li>Update MSRV to 1.63.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/DDtKey"><code>`@​DDtKey</code></a>` made their first contribution in <a href="https://redirect.github.com/hyperium/h2/pull/703">hyperium/h2#703</a></li>
<li><a href="https://github.com/jwilm"><code>`@​jwilm</code></a>` made their first contribution in <a href="https://redirect.github.com/hyperium/h2/pull/707">hyperium/h2#707</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/hyperium/h2/blob/v0.3.24/CHANGELOG.md">h2's changelog</a>.</em></p>
<blockquote>
<h1>0.3.24 (January 17, 2024)</h1>
<ul>
<li>Limit error resets for misbehaving connections.</li>
</ul>
<h1>0.3.23 (January 10, 2024)</h1>
<ul>
<li>Backport fix from 0.4.1 for stream capacity assignment.</li>
</ul>
<h1>0.3.22 (November 15, 2023)</h1>
<ul>
<li>Add <code>header_table_size(usize)</code> option to client and server builders.</li>
<li>Improve throughput when vectored IO is not available.</li>
<li>Update indexmap to 2.</li>
</ul>
<h1>0.3.21 (August 21, 2023)</h1>
<ul>
<li>Fix opening of new streams over peer's max concurrent limit.</li>
<li>Fix <code>RecvStream</code> to return data even if it has received a <code>CANCEL</code> stream error.</li>
<li>Update MSRV to 1.63.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7243ab5854"><code>7243ab5</code></a> Prepare v0.3.24</li>
<li><a href="d919cd6fd8"><code>d919cd6</code></a> streams: limit error resets for misbehaving connections</li>
<li><a href="a7eb14a487"><code>a7eb14a</code></a> v0.3.23</li>
<li><a href="b668c7fbe2"><code>b668c7f</code></a> fix: streams awaiting capacity lockout (<a href="https://redirect.github.com/hyperium/h2/issues/730">#730</a>) (<a href="https://redirect.github.com/hyperium/h2/issues/734">#734</a>)</li>
<li><a href="0f412d8b9c"><code>0f412d8</code></a> v0.3.22</li>
<li><a href="c7ca62f69b"><code>c7ca62f</code></a> docs: fix typos (<a href="https://redirect.github.com/hyperium/h2/issues/724">#724</a>)</li>
<li><a href="ef743ecb22"><code>ef743ec</code></a> Add a setter for header_table_size (<a href="https://redirect.github.com/hyperium/h2/issues/638">#638</a>)</li>
<li><a href="56651e6e51"><code>56651e6</code></a> fix lint about unused import</li>
<li><a href="4aa7b16342"><code>4aa7b16</code></a> Fix documentation for max_send_buffer_size (<a href="https://redirect.github.com/hyperium/h2/issues/718">#718</a>)</li>
<li><a href="d03c54a80d"><code>d03c54a</code></a> chore(dependencies): update tracing minimal version to 0.1.35</li>
<li>Additional commits viewable in <a href="https://github.com/hyperium/h2/compare/v0.3.20...v0.3.24">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=h2&package-manager=cargo&previous-version=0.3.20&new-version=0.3.24)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/meilisearch/meilisearch/network/alerts).

</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 11:53:51 +00:00
d35fe43fd5 Update lock file 2024-01-22 10:49:17 +01:00
f692021bfc Implement PR comments 2024-01-22 10:25:56 +01:00
1b90778bf5 Change CI 2024-01-22 10:25:56 +01:00
66ae81a909 Make it so binary can be used with cargo xtask 2024-01-22 10:25:56 +01:00