Slide 1

Slide 1 text

メモリ使⽤率取得したいけど、簡 単に取得できない - 仕⽅ない作る か。 MemStat.Net作りました #dotnetlab

Slide 2

Slide 2 text

⾃⼰紹介 高丘 知央 ( Tomohisa Takaoka ) 株式会社ジェイテックジャパンCTO イベントソーシング・CQRSフレームワーク Sekiban メンテナ 鉄道指向プログラミングライブラリ ResultBox 開発 米国カリフォルニア州ロングビーチ在住(ロスの近く) ● X : @tomohisa ● Github : @tomohisa ● Linkedin : tomohisatakaoka 自作キーボード、3Dプリント自作トラックボール製作 London Tech Talk ポッドキャストとブッククラブ出演 #dotnetlab 🆗

Slide 3

Slide 3 text

株式会社ジェイテックジャパンの紹介 ● 創業50年を超えた総合IT企業、株式会社 ジャパンテクニカルソフトウェア (JTS) のグループ企業。 ● New York 所在 J-Tech Creations, Inc. と 協業 ● B2C / B2B アプリケーションを 開発‧運⽤するソフトウェア開発企業。 ● .NET‧Azure 等 Microsoft の 技術スタックを主に使⽤。 #dotnetlab 🆗

Slide 4

Slide 4 text

概要 メモリ使⽤率取得したいけど、簡単に取得 できない - 仕⽅ない作るか。 1. メモリ使⽤率が欲しいとき 2. マルチプラットフォームの対応 3. Nugetでのリリース 4. まとめ #dotnetlab 🆗

Slide 5

Slide 5 text

メモリ使⽤率取得したいけど、簡単に 取得できない - 仕⽅ない作るか。 1.メモリ使⽤率が欲しいとき

Slide 6

Slide 6 text

#dotnetlab 🆗 Sekiban - イベントソーシング・ CQRSフレームワーク ● イベントソーシングは過去のイベントを再生してステートを作成する ● 毎回データベース(Cosmos DB, Dynamo DB or Postgres)にイベントを取りに 行くと遅い ● イベントのローカルキャッシュ機能を作りたい ● 無制限に保続したくない ● → メモリの残量によってコントロールしたい ● メモリ残量をマルチプラットフォームで知る機能が...ない ● 仕方なく作るか。 メモリ使⽤率取得したいけど、簡単に取得できない - 仕⽅ない作るか。 1.メモリ使⽤率が欲しいとき

Slide 7

Slide 7 text

メモリ使⽤率取得したいけど、簡単に 取得できない - 仕⽅ない作るか。 2.マルチプラットフォームの対応

Slide 8

Slide 8 text

#dotnetlab 🆗 マルチプラットフォーム対応 ● Windows(ローカル実行,Azure) Linux (Azure) Mac (ローカル実行)で対応した い ● Windows ○ Microsoft.VisualBasic → なぜか使用できなくなっている ○ 既存のGithub NickStrupat / ComputerInfo → Azure App Serviceで使え ない ○ GlobalMemoryStatusEx を使う実装を発見 kernel32.dll メモリ使⽤率取得したいけど、簡単に取得できない - 仕⽅ない作るか。 2.マルチプラットフォームの対応

Slide 9

Slide 9 text

#dotnetlab 🆗 マルチプラットフォーム対応 ● Mac ○ vm_stat コマンドをプロセスで呼び出しパースする メモリ使⽤率取得したいけど、簡単に取得できない - 仕⽅ない作るか。 2.マルチプラットフォームの対応

Slide 10

Slide 10 text

#dotnetlab 🆗 マルチプラットフォーム対応 ● Mac ○ free コマンドをプロセスで呼び出しパースする ○ この辺はChatGPT駆動でなんとかなった メモリ使⽤率取得したいけど、簡単に取得できない - 仕⽅ない作るか。 2.マルチプラットフォームの対応

Slide 11

Slide 11 text

メモリ使⽤率取得したいけど、簡単に 取得できない - 仕⽅ない作るか。 3.Nugetでのリリース

Slide 12

Slide 12 text

#dotnetlab 🆗 とりあえず Sekiban内部のProjectとしていたが ... ● LTするならみんなが簡単に使えるといいかも ○ 慌ててnuget リリース (午後3:30ごろ) https://www.nuget.org/packages/MemStat.Net ● Azure App Serviceで使えるのを確認 ● Azure Function 󰤅 ● AWS 󰤅 メモリ使⽤率取得したいけど、簡単に取得できない - 仕⽅ない作るか。 3.Nugetでのリリース

Slide 13

Slide 13 text

メモリ使⽤率取得したいけど、簡単に 取得できない - 仕⽅ない作るか。 4.まとめ

Slide 14

Slide 14 text

まとめ ● メモリ使⽤量は結構しれると嬉しい気がする ● メモリ使⽤量を知らずして解放の必要性を知る⽅ 法があったら知りたい ○ GCなど? ● Nugetリリース慣れしたので、どんどんリリース ● よかったらご使⽤ください #dotnetlab 🆗

Slide 15

Slide 15 text

質問、感想などありましたらXなどで連絡ください @tomohisa Sekibanはこちら https://github.com/J-Tech-Japan/Sekiban ResultBoxはこちら https://github.com/J-Tech-Japan/ResultBoxes MemStat.Netはこちら https://www.nuget.org/packages/MemStat.Net J-Tech Japan Tech Blog https://zenn.dev/p/jtechjapan_pub 
 おわり #dotnetlab 🆗