Commit Graph

8973 Commits

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