Skip to content

Commit

Permalink
Metrics added and packages updated
Browse files Browse the repository at this point in the history
  • Loading branch information
sebagomez committed Oct 19, 2021
1 parent 92afdd6 commit b2ce792
Show file tree
Hide file tree
Showing 15 changed files with 2,425 additions and 6,213 deletions.
8,439 changes: 2,288 additions & 6,151 deletions src/AzureWebStorageExplorer/ClientApp/package-lock.json

Large diffs are not rendered by default.

15 changes: 8 additions & 7 deletions src/AzureWebStorageExplorer/ClientApp/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@
"@angular/animations": "12.2.2",
"@angular/common": "12.2.2",
"@angular/compiler": "12.2.2",
"@angular/core": "^12.2.2",
"@angular/core": "^12.2.10",
"@angular/forms": "12.2.2",
"@angular/platform-browser": "^12.2.2",
"@angular/platform-browser": "^12.2.10",
"@angular/platform-browser-dynamic": "12.2.2",
"@angular/platform-server": "12.2.2",
"@angular/router": "12.2.2",
"@nguniversal/module-map-ngfactory-loader": "8.1.1",
"bootstrap": "^4.5.3",
"core-js": "^3.16.2",
"core-js": "^3.18.3",
"jquery": "^3.6.0",
"oidc-client": "^1.11.5",
"popper.js": "^1.16.1",
Expand All @@ -33,13 +33,13 @@
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "^12.2.2",
"@angular/cli": "12.2.2",
"@angular-devkit/build-angular": "^12.2.10",
"@angular/cli": "12.2.10",
"@angular/compiler-cli": "12.2.2",
"@angular/language-service": "12.2.2",
"@types/jasmine": "~3.6.0",
"@types/jasminewd2": "^2.0.10",
"@types/node": "^12.20.19",
"@types/node": "^12.20.33",
"codelyzer": "^6.0.0",
"glob-parent": "^5.1.2",
"jasmine-core": "~3.6.0",
Expand All @@ -57,6 +57,7 @@
"tslint": "~6.1.0"
},
"resolutions": {
"glob-parent": "^5.1.2"
"glob-parent": "^5.1.2",
"set-value": "^4.1.0"
}
}
13 changes: 12 additions & 1 deletion src/AzureWebStorageExplorer/Controllers/BlobsController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,23 @@
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Prometheus;
using StorageLibrary;
using StorageLibrary.Common;

namespace AzureWebStorageExplorer.Controllers
{
[Produces("application/json")]
[Route("api/Blobs")]
public class BlobsController : Controller
public class BlobsController : CounterController
{
private static readonly Counter BlobCounter = Metrics.CreateCounter("blobscontroller_counter_total", "Keep BlobsController access count");

[HttpGet("[action]")]
public async Task<IActionResult> GetBlobs(string account, string key, string container, string path)
{
Increment(BlobCounter);

if (string.IsNullOrEmpty(container))
return Ok(new List<string>());

Expand All @@ -26,6 +31,8 @@ public async Task<IActionResult> GetBlobs(string account, string key, string con
[HttpGet("[action]")]
public async Task<FileResult> GetBlob(string account, string key, string container, string blobUri)
{
Increment(BlobCounter);

if (string.IsNullOrEmpty(blobUri))
return null;

Expand All @@ -40,6 +47,8 @@ public async Task<FileResult> GetBlob(string account, string key, string contain
[HttpPost("[action]")]
public async Task<IActionResult> DeleteBlob(string account, string key, string container, string blobUri)
{
Increment(BlobCounter);

if (string.IsNullOrEmpty(blobUri))
return BadRequest();

Expand All @@ -52,6 +61,8 @@ public async Task<IActionResult> DeleteBlob(string account, string key, string c
[HttpPost("[action]")]
public async Task<IActionResult> UploadBlob(string account, string key, string container, string path, List<IFormFile> files)
{
Increment(BlobCounter);

foreach (IFormFile file in files)
await Container.CreateBlobAsync(account, key, container, path + file.FileName, file.OpenReadStream());

Expand Down
15 changes: 12 additions & 3 deletions src/AzureWebStorageExplorer/Controllers/ContainersController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,33 @@
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Prometheus;
using StorageLibrary;
using StorageLibrary.Common;

namespace AzureWebStorageExplorer.Controllers
{
[Produces("application/json")]
[Route("api/Containers")]
public class ContainersController : Controller
public class ContainersController : CounterController
{
[HttpGet("[action]")]
private static readonly Counter ContainerCounter = Metrics.CreateCounter("containerscontroller_counter_total", "Keep ContainersController access count");

[HttpGet("[action]")]
public async Task<IEnumerable<string>> GetContainers(string account, string key)
{
List<CloudBlobContainerWrapper> containers = await Container.ListContainersAsync(account, key);
Increment(ContainerCounter);

List<CloudBlobContainerWrapper> containers = await Container.ListContainersAsync(account, key);

return containers.Select(c => c.Name);
}

[HttpPost("[action]")]
public async Task<IActionResult> DeleteContainer(string account, string key, string container)
{
Increment(ContainerCounter);

if (string.IsNullOrEmpty(container))
return BadRequest();

Expand All @@ -33,6 +40,8 @@ public async Task<IActionResult> DeleteContainer(string account, string key, str
[HttpPost("[action]")]
public async Task<IActionResult> NewContainer(string account, string key, string container, bool publicAccess)
{
Increment(ContainerCounter);

if (string.IsNullOrEmpty(container))
return BadRequest();

Expand Down
13 changes: 13 additions & 0 deletions src/AzureWebStorageExplorer/Controllers/CounterController.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using Microsoft.AspNetCore.Mvc;
using Prometheus;

namespace AzureWebStorageExplorer.Controllers
{
public class CounterController : Controller
{
public void Increment(Counter counter)
{
counter.Inc();
}
}
}
20 changes: 17 additions & 3 deletions src/AzureWebStorageExplorer/Controllers/FilesController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,22 @@
using System.Web;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

using Prometheus;
using StorageLibrary.Common;

namespace AzureWebStorageExplorer.Controllers
{
[Produces("application/json")]
[Route("api/Files")]
public class FilesController : Controller
public class FilesController : CounterController
{
[HttpGet("[action]")]
private static readonly Counter FilesCounter = Metrics.CreateCounter("filescontroller_counter_total", "Keep FilesController access count");

[HttpGet("[action]")]
public async Task<IEnumerable<string>> GetShares(string account, string key)
{
Increment(FilesCounter);

IEnumerable<FileShareWrapper> shares = await StorageLibrary.File.ListFileSharesAsync(account, key);

return shares.Select(s => s.Name);
Expand All @@ -24,12 +28,16 @@ public async Task<IEnumerable<string>> GetShares(string account, string key)
[HttpGet("[action]")]
public async Task<IEnumerable<FileShareItemWrapper>> GetFilesAndDirectories(string account, string key, string share, string folder)
{
Increment(FilesCounter);

return await StorageLibrary.File.ListFilesAndDirsAsync(account, key, share, folder);
}

[HttpGet("[action]")]
public async Task<FileResult> GetFile(string account, string key, string share, string file, string folder= null)
{
Increment(FilesCounter);

if (string.IsNullOrEmpty(share))
return null;

Expand All @@ -46,6 +54,8 @@ public async Task<FileResult> GetFile(string account, string key, string share,
[HttpPost("[action]")]
public async Task<IActionResult> DeleteFile(string account, string key, string share, string file, string folder = null)
{
Increment(FilesCounter);

if (string.IsNullOrEmpty(file))
return BadRequest();

Expand All @@ -57,6 +67,8 @@ public async Task<IActionResult> DeleteFile(string account, string key, string s
[HttpPost("[action]")]
public async Task<IActionResult> UploadFile(string account, string key, string share, string folder, string fileName, List<IFormFile> files)
{
Increment(FilesCounter);

foreach (IFormFile file in files)
await StorageLibrary.File.CreateFileAsync(account, key, share, fileName, file.OpenReadStream(), folder);

Expand All @@ -66,6 +78,8 @@ public async Task<IActionResult> UploadFile(string account, string key, string s
[HttpPost("[action]")]
public async Task<IActionResult> CreateSubDir(string account, string key, string share, string subDir, string folder = null)
{
Increment(FilesCounter);

await StorageLibrary.File.CreateSubDirectory(account, key, share, subDir, folder);

return Ok();
Expand Down
6 changes: 1 addition & 5 deletions src/AzureWebStorageExplorer/Controllers/HomeController.cs
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;

namespace AzureWebStorageExplorer.Controllers
{
public class HomeController : Controller
public class HomeController : Controller
{
public IActionResult Index()
{
Expand Down
19 changes: 16 additions & 3 deletions src/AzureWebStorageExplorer/Controllers/QueuesController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,31 @@
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;

using Prometheus;
using StorageLibrary;
using StorageLibrary.Common;

namespace AzureWebStorageExplorer.Controllers
{
[Produces("application/json")]
[Route("api/Queues")]
public class QueuesController : Controller
public class QueuesController : CounterController
{
// GET: api/Queues
private static readonly Counter FilesCounter = Metrics.CreateCounter("queuescontroller_counter_total", "Keep QueuesController access count");

[HttpGet("[action]")]
public async Task<IEnumerable<string>> GetQueues(string account, string key)
{
Increment(FilesCounter);

return await Queue.ListQueuesAsync(account, key);
}

[HttpGet("[action]")]
public async Task<IEnumerable<KeyValuePair<string, string>>> GetMessages(string account, string key, string queue)
{
Increment(FilesCounter);

List<PeekedMessageWrapper> messages = await Queue.GetAllMessagesAsync(account, key, queue);

return messages.Select(m => new KeyValuePair<string, string>(m.Id, m.Message));
Expand All @@ -30,6 +35,8 @@ public async Task<IEnumerable<KeyValuePair<string, string>>> GetMessages(string
[HttpPost("[action]")]
public async Task<IActionResult> DequeueMessage(string account, string key, string queue)
{
Increment(FilesCounter);

if (string.IsNullOrEmpty(queue))
return BadRequest();

Expand All @@ -41,6 +48,8 @@ public async Task<IActionResult> DequeueMessage(string account, string key, stri
[HttpPost("[action]")]
public async Task<IActionResult> NewQueue(string account, string key, string queue)
{
Increment(FilesCounter);

if (string.IsNullOrEmpty(queue))
return BadRequest();

Expand All @@ -52,6 +61,8 @@ public async Task<IActionResult> NewQueue(string account, string key, string que
[HttpPost("[action]")]
public async Task<IActionResult> NewQueueMessage(string account, string key, string queue, string message)
{
Increment(FilesCounter);

if (string.IsNullOrEmpty(queue))
return BadRequest();

Expand All @@ -63,6 +74,8 @@ public async Task<IActionResult> NewQueueMessage(string account, string key, str
[HttpPost("[action]")]
public async Task<IActionResult> DeleteQueue(string account, string key, string queue)
{
Increment(FilesCounter);

if (string.IsNullOrEmpty(queue))
return BadRequest();

Expand Down
18 changes: 16 additions & 2 deletions src/AzureWebStorageExplorer/Controllers/TablesController.cs
Original file line number Diff line number Diff line change
@@ -1,31 +1,39 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;

using Prometheus;
using StorageLibrary;
using StorageLibrary.Common;

namespace AzureWebStorageExplorer.Controllers
{
[Produces("application/json")]
[Route("api/Tables")]
public class TablesController : Controller
public class TablesController : CounterController
{
private static readonly Counter TablesCounter = Metrics.CreateCounter("tablescontroller_counter_total", "Keep TablesController access count");

[HttpGet("[action]")]
public async Task<IEnumerable<string>> GetTables(string account, string key)
{
Increment(TablesCounter);

return await Table.ListTablesAsync(account, key);
}

[HttpGet("[action]")]
public async Task<IEnumerable<TableEntityWrapper>> QueryTable(string account, string key, string table, string query)
{
Increment(TablesCounter);

return await Table.QueryAsync(account, key, table, query);
}

[HttpPut("[action]")]
public async Task<IActionResult> InsertData(string account, string key, string table, string data)
{
Increment(TablesCounter);

if (string.IsNullOrEmpty(table) || string.IsNullOrEmpty(data))
return BadRequest();

Expand All @@ -37,6 +45,8 @@ public async Task<IActionResult> InsertData(string account, string key, string t
[HttpDelete("[action]")]
public async Task<IActionResult> DeleteData(string account, string key, string table, string partitionKey, string rowKey)
{
Increment(TablesCounter);

if (string.IsNullOrEmpty(table) || string.IsNullOrEmpty(partitionKey) || string.IsNullOrEmpty(rowKey))
return BadRequest();

Expand All @@ -48,6 +58,8 @@ public async Task<IActionResult> DeleteData(string account, string key, string t
[HttpDelete("[action]")]
public async Task<IActionResult> DeleteTable(string account, string key, string table)
{
Increment(TablesCounter);

if (string.IsNullOrEmpty(table))
return BadRequest();

Expand All @@ -59,6 +71,8 @@ public async Task<IActionResult> DeleteTable(string account, string key, string
[HttpPost("[action]")]
public async Task<IActionResult> NewTable(string account, string key, string table)
{
Increment(TablesCounter);

if (string.IsNullOrEmpty(table))
return BadRequest();

Expand Down
2 changes: 1 addition & 1 deletion src/AzureWebStorageExplorer/Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<Project>
<PropertyGroup>
<AzureStorageWebExplorerVersion>2.7.2</AzureStorageWebExplorerVersion>
<AzureStorageWebExplorerVersion>2.7.3</AzureStorageWebExplorerVersion>
</PropertyGroup>
</Project>
Loading

0 comments on commit b2ce792

Please sign in to comment.