Граф коммитов

4020 Коммитов

Автор SHA1 Сообщение Дата
Steve Edwards a7e559e951
Merge pull request #176 from jagilber/development
add LocalPath property for local kusto emulator ingest
2024-08-12 08:51:21 -05:00
jagilber 354a07a817 update change log 2024-08-11 08:29:18 -04:00
Victoria Chin 4b906020fb Merged PR 100: Update CounterSchema datatype
Updated "CounterValue" column datatype from float to decimal
2024-08-08 20:30:30 +00:00
Victoria 639d70f875 updated datatype from float to decimal 2024-08-07 14:20:04 -07:00
Victoria Chin db8de78b72 Merged PR 99: Update configuration file to reflect local ingestion fields and added configuration examples
Edited collectsfdata.options.json to reflect new local ingestion fields (LocalPath, DatabasePersistence, DatabasePersistencePath). Added examples to show how to setup your configuration file to do local ingestion.
2024-07-29 22:44:29 +00:00
Victoria 72aea22983 edited example file paths 2024-07-29 15:21:34 -07:00
Victoria 6bc9433e21 edited collectsfdata.options.json to reflect local ingestion fields and added examples 2024-07-29 15:13:34 -07:00
dbucce e2c33e46e2
Merge pull request #175 from jagilber/development
Development feature build with localPath functionality
2024-07-29 09:22:30 -06:00
jagilber 8b539ef294 modify .vscode/settings.json accessibility volume 2024-07-29 09:47:12 -04:00
jagilber 72da758681 Merge branch 'development' of https://servicefabricsupport.visualstudio.com/Tools/_git/CollectServiceFabricData into development 2024-07-28 10:15:50 -04:00
Victoria Chin f007c8382f Merged PR 96: LocalPath Files Time Filtering
I added changes primarily in Collector.cs (UploadLocalData() function and other helper functions) to grab files from the LocalPath field location specified in the configuration file. Then go through those files and filter out those whose 'LastModified' time does not fit the StartTimeStamp/EndTimeStamp times. Then, with the files that fit the time range, I created a copy of those files and put them in the CacheLocation path specified in the configuration file. The files in the CacheLocation are used later for formatting and local ingestion.

I added changes to the other files to support the LocalPath field and allow you to test the code I put in the Collector.cs file. Those changes are the same as what is in my prior PR but doesn't include all of them. I only added what was necessary to reach the new functionality I described above and test that the file copies were created in the CacheLocation. You won't be able to actually completely do local ingestion with my changes in this PR, only in the prior PR.
2024-07-27 07:07:00 +00:00
Victoria 15c2a1fa5e merged changes with development branch 2024-07-26 23:56:25 -07:00
Victoria Chin 356debf019 Merged PR 95: Local Ingestion Functionality
I made changes to the CollectServiceFabricData tool to support local ingestion. My first main changes involve adding 2 new configuration field options, "LocalPath" and "OverwriteTable." "LocalPath" is the field that contains a path to a folder where the original, unmodified trace files are put. If this has a value, then that indicates that the user wants to do local ingestion (depending on what we decide with time stamp filtering, this could change). "OverwriteTable" is a boolean indicating whether to append or replace the data in the table the user is ingesting traces into. A value of "true" indicates that the table will be cleared before ingesting new data. A value of "false" (default) will just add new traces to the table without replacement. For local ingestion, I am utilizing the preexisting "KustoCluster" field to take in a local web server url with a database name (example: http://localhost:8080/MyDBName). To enable local ingestion, you must provide a url like the example in the "KustoCluster" field and a path in the "LocalPath" field in your collectsfdata.options.json file.

I created/edited functions in KustoConnection.cs and KustoEndpoint.cs to support connecting to the Kusto emulator, creating a new database/table if they don't exist, and ingesting traces after they've been formatted. Rather than making use of an ingestion queue, my local ingestion process executes KQL commands to directly ingest data into a table. At the end, you should be able to use the Kusto Explorer to view and evaluate traces.

What I tested:
- local ingestion with one short trace file (5 rows) with 'OverrideTable' set to false
- local ingestion with one short trace file (5 rows) with 'OverrideTable' set to true
![image (7).png](https://servicefabricsupport.visualstudio.com/a1d45fff-c857-4b1f-8bce-e8822a9a1c8a/_apis/git/repositories/14b51b9b-941d-4cd4-9a7b-8ec8e7749d93/pullRequests/95/attachments/image%20%287%29.png)
(image shows example of ingested data in table)

- local ingestion with 2-10 trace files (the short one from above and a large one (CreateSelfReconfiguringService.test.trace) with 35,622 rows) "OverrideTable" set to true. Clears table and uploads correct number of rows.

- local ingestion with the 2-10 trace files with "OverrideTable" set to false. Successfully adds to the table

- local ingestion with 2-10 trace files with no DB / table already existing. They are created successfully, and ingestion continues

- local ingestion with 5 trace files with no "overrideTable" field in config file - sucessfully ingests into new table

- Attempting local ingestion without providing a "cachelocation" value in my configuration file - successfully gave the user an error and in the message says to provide a value. Safely exits the program.

- Attempting local ingestion with a localhost url that doesn't match my pattern in the 'KustoCluster' field of my configuration file. Ex: "http://localhost:808000/MyDBName". The program safely exits and provides appropriate...
2024-07-27 06:33:48 +00:00
Victoria 110a981946 added final try/catch 2024-07-26 23:32:24 -07:00
Victoria 2baf3d6378 corrected spelling mistakes in readme 2024-07-26 22:58:17 -07:00
Victoria 5a05393977 added check for database persistence path validity 2024-07-26 16:00:37 -07:00
Victoria a7fab178ff resolved development branch merge conflict 2024-07-24 15:27:38 -07:00
Victoria c531cf16f8 modified queue for ingest path 2024-07-24 15:10:46 -07:00
Jason Gilbertson 007d149798 Merged PR 98: add lock for kusto endpoint CommandAsync as ingest control commands are limited by ingest cluster capacity
add lock for kusto endpoint CommandAsync as ingest control commands are limited by ingest cluster capacity
https://learn.microsoft.com/en-us/azure/data-explorer/kusto/management/capacity-policy#management-commands-throttling

seen throttled exception in ingest command for kusto emulator

"code": "Too many requests",
"message": "Request is denied due to throttling. "
"@type": "Kusto.DataNode. Exceptions.ControlCommandThrottledException
2024-07-24 21:29:42 +00:00
jagilber 200b580008 add lock for kusto endpoint CommandAsync as ingest control commands are limited by ingest cluster capacity https://learn.microsoft.com/en-us/azure/data-explorer/kusto/management/capacity-policy#management-commands-throttling 2024-07-24 17:26:04 -04:00
Victoria 9e7fb82ceb added check to see if local path and cache location are equal 2024-07-24 14:23:32 -07:00
Victoria 952785905c added bug fix for if Kusto Cluster does not have value 2024-07-24 13:37:37 -07:00
jagilber 2e83fc9f77 Merge branch 'development' of https://servicefabricsupport.visualstudio.com/Tools/_git/CollectServiceFabricData into development 2024-07-23 16:55:50 -04:00
Jason Gilbertson 562c692f14 Merged PR 97: block net462 and kusto federated authentication without azure client id as it is not supported
block net462 and kusto federated authentication without azure client id as it is not supported
remove runtime property IsARMValid when saving configuration
add additional vscode launch configurations for net462 and net48
2024-07-23 20:55:09 +00:00
jagilber b5f1118ef8 remove runtime property IsARMValid when saving configuration 2024-07-23 16:48:11 -04:00
Victoria 25fae718e6 changed formatting and command line arguments descriptions 2024-07-23 10:53:53 -07:00
Victoria f95400cbeb removed unnecessary variable 2024-07-23 09:43:34 -07:00
Victoria 73c1dad722 getting latest changes Merge branch 't-vchin-UpdateConfigLocalIngest' of https://servicefabricsupport.visualstudio.com/Tools/_git/CollectServiceFabricData into t-vchin-UpdateConfigLocalIngest 2024-07-23 09:32:54 -07:00
Victoria dd7ec30e1d edited local web server pattern constant and changed wording of comment in response to PR comments 2024-07-23 09:32:19 -07:00
jagilber b340c4b383 add documentation for new properties DatabasePersistence DatabasePersistencePath and LogPath 2024-07-22 19:16:39 -04:00
Victoria 3a96bbd48e use variable instead of islocalingestionconfigured function 2024-07-18 09:32:47 -07:00
Victoria d71781e45b edited UploadCacheData() function to include local ingestion file time filtering 2024-07-17 16:58:22 -07:00
Victoria ae5e362095 edited database case insensitivity message 2024-07-16 15:04:35 -07:00
Victoria deb7597e8b edited localhost url pattern error message based on PR comment 2024-07-12 16:42:46 -07:00
Victoria fe4a4d55cc edited if statement in FinalizeKusto to not be nested 2024-07-12 13:49:23 -07:00
Victoria 19edb705aa added most necessary changes from t-vchin-UpdateConfigLocalIngest PR to match functionality and allow code to take in LocalPath 2024-07-12 11:07:15 -07:00
Victoria 3affb3d625 added instance file match increment and modified comment 2024-07-12 10:28:21 -07:00
Victoria d4eb4c763d small formatting changes in response to PR comments 2024-07-11 16:25:02 -07:00
Victoria d0c02cceab edited database persistence options and set up validation for new fields 2024-07-11 13:55:17 -07:00
Victoria 1ebd2088da edited file time filtering and implemented file copying from LocalPath to CacheLocation 2024-07-10 23:00:34 -07:00
Victoria fa5fb31a14 added persistence as optional when creating a database 2024-07-10 09:08:03 -07:00
Victoria 5a5a4f02ab added error handling for files with no contents and removed OverwriteTable field 2024-07-09 11:48:20 -07:00
Victoria b21d47bffc added time filtering function 2024-07-08 16:51:55 -07:00
jagilber 84ffe585cb fix #30 add configuration check for .net462 and kusto federated authentication as it is not supported 2024-07-07 18:16:09 -04:00
jagilber b35077d42b add net462 and net48 launch configs 2024-07-07 18:11:28 -04:00
Victoria 13de8aed59 finalized FinalizeKusto() method 2024-07-07 13:27:48 -07:00
Victoria 392ffda985 cleaned up error output and check for local ingestion 2024-07-07 13:14:57 -07:00
Victoria 4d6ba8704a adding local ingestion functionality 2024-07-06 00:03:06 -07:00
jagilber 162a725790 fix incorrect Roff programming language tag in github repo 2024-06-26 12:53:03 -04:00
jagilber 5220e35459 reverting dev pipeline back to test 1es on different branch/pipeline 2024-06-24 08:21:16 -04:00