Tstats command. The in. Tstats command

 
 The inTstats command  You can use this to result in rudimentary searches by just reducing the question you are asking to stats

To display active TCP connections and the process IDs using numerical form, type: netstat -n -o. Intro. Pivot The Principle. Also there are two independent search query seprated by appencols. Use the tstats command to perform statistical queries on indexed fields in tsidx files. In our case we’re looking at a distinct count of src by user and _time where _time is in 1 hour spans. The “tstats” command is powerful command in Splunk which uses tsidx file (index file) which is metadata to perform statistical functions in Splunk queries. By default, the indexer retains all tsidx files for the life of the buckets. This search uses info_max_time, which is the latest time boundary for the search. Chart the count for each host in 1 hour increments. You might have to add |. Here's an example of the type of data I'm dealing with: _time user statusSave your search as a report with the name L3S1 Scenario: Complete the scenario request from L2S1 but use the tstats command instead. Study with Quizlet and memorize flashcards containing terms like What command type is allowed before a transforming command in an accelerated report? (A) Non-streaming command (B) Centralised streaming command (C) Distributable streaming command, What is the proper syntax to include if you want to search a data model acceleration. The tstats command allows you to perform statistical searches using regular Splunk search syntax on the TSIDX summaries created by accelerated datamodels. Usage. While you can customise this, it’s not the best idea, as it can cause performance and storage issues as Splunk. Note that generating search commands must be preceded with a 'pipe' | symbol as in the example. csv Actual Clientid,Enc. Description. -L, --dereference follow links -f, --file-system display file system status instead of file status --cached = specify how to use cached attributes; useful on remote file systems. In this article. 7 videos 2 readings 1 quiz. Hi, I need a top count of the total number of events by sourcetype to be written in tstats(or something as fast) with timechart put into a summary index, and then report on that SI. In this search summariesonly referes to a macro which indicates (summariesonly=true) meaning only search data that has been summarized by the data model acceleration. See Command types. FALSE. See Command types. With normal searches you can define the indexes source types and also the data will show , so based on the data you can refine your search, how can I do the same with tstats ? Tags: splunk. The eventstats search processor uses a limits. Here is the visualization for the stats command results table: The status field forms the X-axis, and the host. The action taken by the endpoint, such as allowed, blocked, deferred. Eval expressions with statistical functions. This blog is to explain how statistic command works and how do they differ. csv ip_ioc as All_Traffic. The timechart command. If the first argument to the sort command is a number, then at most that many results are returned, in order. If the stats command is used without a BY clause, only one row is returned, which is the aggregation over the entire incoming result set. Let's say my structure is t. 1. We’ll focus on the standard mode, which is a streaming search command (it operates on each event as a search returns the event). com The stats command works on the search results as a whole and returns only the fields that you specify. In general, the last seen value of the field is the oldest instance of this field relative to the input order of events into the stats command. Splunk Employee. By default, the tstats command runs over accelerated and unaccelerated data. The stats command is a fundamental Splunk command. Get the first tstats prestats=t and stats command combo working first before adding additional tstats prestats=t append=t commands. The streamstats command is a centralized streaming command. There are six broad types for all of the search commands: distributable streaming, centralized streaming, transforming, generating, orchestrating and dataset processing. Basic Stata Commands ECON113 Professor Spearot TA Jae Hoon Choi 1 Basic Statistics • summarize: givesussummarystatistics – Afteropeningthedatafile. The search also pipes the results of the eval command into the stats command to count the number of earthquakes and display the minimum and maximum magnitudes for each Description. If they require any field that is not returned in tstats, try to retrieve it using one. If the string appears multiple times in an event, you won't see that. SQL. If this was a stats command then you could copy _time to another field for grouping, but I don't know of a way to do that with tstats . Description. multisearch Description. Because dns_request_client_ip is present after the above tstats, the first very lookup, lookup1 ip_address as dns_request_client_ip output ip_address as dns_server_ip, can be added back unchanged. In this video I have discussed about tstats command in splunk. t #. 6 now supports generating commands such as tstats , metadata etc. stats command overview Calculates aggregate statistics, such as average, count, and sum, over the incoming search results set. The addinfo command adds information to each result. If you don't it, the functions. Splunk Enterprise. Firstly, awesome app. The dsregcmd /status utility must be run as a domain user account. metasearch -- this actually uses the base search operator in a special mode. It's unlikely any of those queries can use tstats. The following tables list the commands that fit into each of these types. To profile their Unreal Engine 4 (UE4) projects, developers can enter the following stat commands into the console while running their game in Play In Editor (PIE) mode. I get 19 indexes and 50 sourcetypes. The stat command prints information about given files and file systems. conf. The tstats command only works with fields that were extracted at index time. There are only a few options with stat command: -f : Show the information for the filesystem instead of the file. Events that do not have a value in the field are not included in the results. The stats command is a transforming command. tsidx files in the buckets on the indexers) whereas stats is working off the data (in this case the raw events) before that command. Click the Visualization tab to generate a graph from the results. The tstats commands uses indexed fields for its searches, which means the 'appname' field would have to be extracted at index-time. By increasing the number of stats commands to two in a single query, customers can now use the second stats command to perform aggregations on the. For more about the tstats command, see the entry for tstats in the Search Reference. View solution in original post. The basic syntax of stats is shown in the following: stats stats-function(field) [BY field-list]As you can see, you must provide a stats-function that operates on a field. The result tables in these files are a subset of the data that you have already indexed. scipy. . To obtain this performance gain we will utilize the tstats command to query against time-series index files created from. Here is the syntax that works: | tstats count first (Package. If some events have userID & src_IP and others have sessionID & src_IP and still others have sessionID & userID, the transaction command will be able to recognize the transitive relationships and bundle them all. If you specify addtime=true, the Splunk software uses the search time range info_min_time. It looks like what you're saying is that tscollect cannot receive the output of a stats command. Note that generating search commands must be preceded with a 'pipe' | symbol as in the example. Why is tstats command with eval not working on a particular field? nmohammed. We can. Basic exampleThe eventstats and streamstats commands are variations on the stats command. On the Searches, Reports, and Alerts page, you will see a ___ if your report is accelerated. The timechart command generates a table of summary statistics. Description. The following tables list the commands that fit into each of these types. This blog is to explain how statistic command works and how do they differ. Use the tstats command to perform statistical queries on indexed fields in tsidx files. But after seeing a few examples, you should be able to grasp the usage. For example, the following search returns a table with two columns (and 10 rows). If no data is returned from the index that you specify with the dbinspect command, it is possible that you do not have the authorization to. 70 MidNow, if you run that walklex command against all your relevant indexes and you add the index to the stats command group by clause, you then have all the potential ‘term prefixes’ you need. '. I can do it with a join on the two tstats commands above, but the datasets are so large it takes forever. addtotals. If I use span in the tstats 'by' command the straight line becomes jagged but consistently so. The original query returns the results fine, but is slow because of large amount of results and extended time frame:either you can move tstats to start or add tstats in subsearch belwo is the hightlited index=netsec_index sourcetype=pan* OR sourctype=fgt* user=saic-corpheathl misc=* OR url=* earliest=-4d| eval Domain=coalesce(misc, url)The command creates a new field in every event and places the aggregation in that field. I have a tstats search panel on a dashboard and I'm trying to limit the timeframe for this particular search (separate from the shared time token). If the stats. | datamodel | spath input=_raw output=datamodelname path="modelName" | table datamodelname. If you don't it, the functions. tstats is a generating command so it must be first in the query. (I have the same issue when using the stats command instead of the timechart command) So I guess there is something like a parameter I must give the stats command to split the result in different lines instead of concatenating the results. The | tstats command pulls from the accelerated datamodel summary data instead of the raw data in the index. We would like to show you a description here but the site won’t allow us. clientid and saved it. Example: Combine multiple stats commands with other functions such as filter, fields, bin. For example, if you use the tstats command with the prestats argument like tstats prestats=true, it will only use data that was previously summarized, thereby increasing the speed of the search response. Labels (4) LabelsExample 1: Computes a five event simple moving average for field 'foo' and writes the result to new field called 'smoothed_foo. Is that correct? The challenge with this data source (and why I originally failed using data models) is that a handful of the fields are in the starting event, and a handful in the ending event. Enabling different logging and sending those logs to some kind of centralized SIEM device sounds relatively straight forward at a high-level, but dealing with tens or even hundreds of thousands of endpoints presents us with huge challenges. 1 6. See [U] 11. Otherwise debugging them is a nightmare. Data returned. So if you have max (displayTime) in tstats, it has to be that way in the stats statement. You can use this function with the stats and timechart commands. That means there is no test. The stats command for threat hunting. The fact that two nearly identical search commands are required makes tstats based accelerated data model searches a bit clumsy. The indexed fields can be from indexed data or accelerated data models. Or you could try cleaning the performance without using the cidrmatch. If the stats command is used without a BY clause, only one row is returned, which is the aggregation over the entire incoming result set. Like for example I can do this: index=unified_tlx [search index=i | top limit=1 acct_id | fields acct_id | format] | stats count by acct_id. Non-wildcard replacement values specified later take precedence over those replacements specified earlier. The tstats command allows you to perform statistical searches using regular Splunk search syntax on the TSIDX summaries created by accelerated datamodels. The indexed fields can be from indexed data or accelerated data models. We have to model a regex in order to extract in Splunk (at index time) some fileds from our event. The fact that two nearly identical search commands are required makes tstats based accelerated data model searches a bit clumsy. fieldname - as they are already in tstats so is _time but I use this to groupby. There is a glitch with Stata's "stem" command for stem-and-leaf plots. True or False: The tstats command needs to come first in the search pipeline because it is a generating command. This table can then be formatted as a chart visualization, where your data is plotted against an x-axis that is always a time field. . It's unlikely any of those queries can use tstats. The "stem" function seems to permanently reorder the data so that they are sorted according to the variable that the stem-and-leaf plot was plotted for. clientid and saved it. Usage. Sparkline is a function that applies to only the chart and stats commands, and allows you to call other functions. t. Follow answered Sep 10, 2019 at 12:18. The stats command is used to perform statistical calculations on the data in a search. Update. If the field that you're planning to use in your complex aggregation is an indexed field (then only it's available to tstats command), you can try workaround like this (sample)OK , latest version 0. ここでもやはり。「ええい!連邦軍のモビルスーツは化け物か」 まとめ. Calculates aggregate statistics, such as average, count, and sum, over the results set. Hi, I need a top count of the total number of events by sourcetype to be written in tstats(or something as fast) with timechart put into a summary index, and then report on that SI. append Description. Example 5: Customize Output Format. We use summariesonly=t here to. 07-28-2021 07:52 AM. This is much faster than using the index. I know you can use a search with format to return the results of the subsearch to the main query. indexer5] When used for 'tstats' searches, the 'WHERE' clause can contain only indexed fields. Although I have 80 test events on my iis index, tstats is faster than stats commands. 2. ---However, we observed that when using tstats command, we are getting the below message. This is much faster than using the index. csv lookup file from clientid to Enc. Can someone explain the prestats option within tstats?. That wasn't clear from the OP. scipy. Eventstats command computes the aggregate function taking all event as input and returns statistics result for the each event. stat -f ana. Summarized data will be available once you've enabled data model acceleration for the data model Network_Traffic. YourDataModelField) *note add host, source, sourcetype without the authentication. 70 MidHowever, like stats, tstats is a transforming command so the only fields available to later commands are those mentioned in tstats. For a list of the related statistical and charting commands that you can use with this function, see Statistical and. The tstats command — in addition to being able to leap tall buildings in a single bound (ok, maybe not) — can produce search results at blinding speed. What's included. The addinfo command adds information to each result. Here's what i've tried based off of Example 4 in the tstats search reference documentation (along with a multitude of other configurations): Hi , tstats command cannot do it but you can achieve by using timechart command. tstats -- all about stats. How can I determine which fields are indexed? For example, in my IIS logs, some entries have a "uid" field, others do not. Second, you only get a count of the events containing the string as presented in segmentation form. Use the existing job id (search artifacts) See full list on kinneygroup. but I want to see field, not stats field. Any thoug. Device state. For example, the following command calls sp_updatestats to update all statistics for the database. Otherwise debugging them is a nightmare. The dbinspect command is a generating command. Because it searches on index-time fields instead of raw events, the tstats command is faster than the stats command. . Apply the redistribute command to high-cardinality dataset. The collect and tstats commands. It's good that tstats was able to work with the transaction and user fields. eval Description. I've looked in the internal logs to see if there are any errors or warnings around acceleration or the name of the data model, but all I see are the successful searches that show the execution time and amount of events discovered. I tried using various commands but just can't seem to get the syntax right. localSearch) command with more Indexers (Search nodes)? 11-02-2018 11:00 AM. AsyncRAT will decrypt its AES encrypted configuration data including the port (6606) and c2 ip-address (43. Stata treats a missing value as positive infinity, the highest number possible. tstats summariesonly=t min(_time) AS min, max(_time) AS max FROM datamodel=mydm. 1. When moving more and more data to our Splunk Environment, we noticed that the loading time for certain dashboards was getting quite long (certainly if you wanted to access history data of let's say the last 2 weeks). 60 7. We use Splunk’s stats command to calculate aggregate statistics, such as average, count, and sum, over the results set coming from a raw data search in Splunk. In normal search (like timechart i could use span), but how can we do similar span command in a tstats search? I could find a question in similar lines, but the answer is not working on the base search which is incorrect. tstats still would have modified the timestamps in anticipation of creating groups. Eventstats If we want to retain the original field as well , use eventstats command. dataset () The function syntax returns all of the fields in the events that match your search criteria. See MODE below -c --format = use the specified FORMAT. Explore the tstats command Search acceleration summaries with tstats Search data models with tstats Compare tstats and stats AboutSplunk Education Splunk classes are designed for specific roles such as Splunk AdminisCertifictrataiotorn, De Travceloperks , User, Knowledge Manager, or Architect. The ttest command performs t-tests for one sample, two samples and paired observations. stat -f filename. 1 41 commands Putting aside the statistical commands that might particularly interest you, here are 41 commands that everyone should know: Getting help [U] 4 Stata’s help and search facilities help, net search, search Keeping Stata up to date Calculates aggregate statistics, such as average, count, and sum, over the results set. Mandatory arguments to long options are mandatory for short options too. Please note that this particular query assumes that you have, at some point within your search time, received data in from the hosts that are being listed by the above command. (so, in my case, the calculated values from the stats command are all 0, 1, 2, or 3) The tstats command doesn't respect the srchTimeWin parameter in the authorize. The tool's basic usage is very easy - all you have to do is to run the 'stat' command with the name of the file you want to know more about. tstats search its "UserNameSplit" and. So take this example: | tstats count WHERE index=* OR sourcetype=* by index,sourcetype | stats values (sourcetype) AS sourcetypes by index. Unlike streamstats , for eventstats command indexing order doesn’t matter with the output. action="failure" by Authentication. By default, the tstats command runs over accelerated and. It has an. While stats takes 0. The issue is some data lines are not displayed by tstats or perhaps the datamodel is not taking them in? This is the query in tstats (2,503 events) | tstats summariesonly=true count(All_TPS_Logs. See Command types. example search: | tstats append=t `summariesonly` count from datamodel=X where earliest=-7d by dest severity | tstats summariesonly=t append=t count from datamodel=XX where by dest severity. I read through the stats, tstats, and eval manuals, but I'm stuck on how to do this efficiently. This includes details. current search query is not limited to the 3. This command requires at least two subsearches and allows only streaming operations in each subsearch. The indexed fields can be from normal index data, tscollect data, or accelerated data models. If the stats command is used without a BY clause, only one row is returned, which is the aggregation over the entire incoming result set. The stat command prints out a lot of information about a file. 7 Low 6236 -0. For more information about when to use the append command, see the flowchart in the topic About event grouping and correlation in the Search Manual. When prestats=true, the tstats command is event-generating. You should use the prestats and append flags for the tstats command. Thank you for the reply. "As we discuss with my colleague as well the tstats searches against accelerated DMs relying on a Root Search Dataset, but part of a Mixed Model (which means that it contains at least also one Root Event Dataset will always fail regardless if the constraint search is or is NOT a streaming search, as this is currently not supported. Creates a time series chart with a corresponding table of statistics. If you only want to see all hosts, the fastest way to do that is with this search (tstats is extremely efficient): | tstats values (host) Cheers, Jacob. Usage. 1) Stat command with no arguments. cheers, MuS. Only sends the Unique_IP and test. 5. Group the results by a field; 3. Populating data into index-time fields and searching with the tstats command. These fields will be used in search using the tstats command. Enable multi-eval to improve data model acceleration. stats command examples. After shortlisting the relevant prefixes, you will be able to define the building block for a super fast search query, while dramatically reducing the chances of. What does TSTAT abbreviation stand for? List of 1 best TSTAT meaning. xxxxxxxxxx. src | dedup user |. Share TSTAT Meaning page. Calculate the metric you want to find anomalies in. If the field name that you specify matches a field name that already exists in the search results, the results of the eval expression. Any thoug. It's a utility that provides insights into the metadata of files - far more detail than what's offered by the commonly-used ls command. _continuous_distns. Using sitimechart changes the columns of my inital tstats command, so I end up having no count to report on. By default, the tstats command runs over accelerated and. 8) Checking the version of stat. In commands that alter or destroy data, Stata requires that the varlist be specified explicitly. Use the tstats command to perform statistical queries on indexed fields in tsidx files. Usage. But this query is not working if we include avg. Although I have 80 test events on my iis index, tstats is faster than stats commands. View solution in original post. You can view a snapshot of an index over a specific timeframe, such as the last 7 days, by using the time range picker. The running total resets each time an event satisfies the action="REBOOT" criteria. timechart command overview. The regular search, tstats search and metasearch uses time range so they support earliest and latest, either though time range picker or inline in the search. However often, users are clicking to see this data and getting a blank screen as the data is not 100% ready. 1 Performing Statistical analysis with stats function What does the var command do? Used only with stats, 1. See Usage . 2) View information about multiple files. Wildcard characters The tstats command does not support wildcard characters in field values in aggregate functions or. Since tstats does not use ResponseTime it's not available. It calculates statistics using TSIDX files, typically created by accelerated data modes and indexed fields. . conf file setting named max_mem_usage_mb to limit how much memory the eventstats command can use to keep track of information. * Perfromance : faster than stats command but more expensive (use more disk space)(because it work only to index metedata, search fields is not working) mstats Description. It retrieves information such as file type; access rights in octal and human-readable; SELinux security context string; time of file birth, last access, last data modification, last status change in both human-readable and in seconds since Epoch, and much more. Entering Water Temperature. Example 1: streamstats without optionsIn my last community post, we reviewed the basic usage and best practices for Splunk macros. tot_dim) AS tot_dim1 last (Package. It will perform any number of statistical functions on a field, which could be as simple as a count or average, or something more advanced like a percentile or standard deviation. Such a search require. test_IP . It splits the events into single lines and then I use stats to group them by instance. You can use mstats in historical searches and real-time searches. In this blog post, I will attempt, by means of a simple web log example, to illustrate how the variations on the stats command work, and how they are different. tstats Grouping by _time You can provide any number of GROUPBY fields. We started using tstats for some indexes and the time gain is Insane! We have noticed that with | tstats summariesonly=true, the performance is a lot better, so we want to keep it on. Yes there is a huge speed advantage of using tstats compared to stats . Calculate the sum of a field; 2. The streamstats command is a centralized streaming command. Use the mstats command to analyze metrics. It goes immediately after the command. how to accelerate reports and data models, and how to use the tstats command to quickly query data. For the tstats to work, first the string has to follow segmentation rules. Task 2: Use tstats to create a report from the summarized data from the APAC dataset of the Vendor Sales data model that will show retail sales of more than $200 over the previous week. You should now see all four stats for this user, with the corresponding aggregation behavior. Usage. Much like metadata, tstats is a generating command that works on:It won't work with tstats, but rex and mvcount will work. Displays total bytes received (RX) and transmitted (TX). So let’s find out how these stats commands work. User_Operations. If you only want to see all hosts, the fastest way to do that is with this search (tstats is extremely efficient): | tstats values (host) Cheers, Jacob. ' as well. 2 days ago · Washington Commanders vs. In a nutshell, this uses the tstats command (very fast) to look at all of your hosts and identify those that have not reported in data within the last five minutes. As a result, if either major or minor breakers are found in value strings, Splunk software places quotation. The streamstats command calculates statistics for each event at the time the event is seen, in a streaming manner. By default, this only includes. However, you can rename the stats function, so it could say max (displayTime) as maxDisplay. Therefore, | tstats count AS Unique_IP FROM datamodel="test" BY test. I attempted using the tstats command you mentioned. From the very beginning, you'll learn about Action Commands and timed hits as an integral part of Super Mario RPG's battle system. Alas, tstats isn’t a magic bullet for every search. Since cleaning that up might be more complex than your current Splunk knowledge allows. 4 varname and varlists for a complete description. conf file setting named max_mem_usage_mb to limit how much memory the eventstats command can use to keep track of information. Ensure all fields in the 'WHERE' clause. how many collections you're covering) but it will give you what you want. Command and Control The last part is how communication is set up to the command and control server to download plugins or other payloads to the compromised host. conf file?)? Thanks in advance for your help!The issue is some data lines are not displayed by tstats or perhaps the datamodel is not taking them in? This is the query in tstats (2,503 events) | tstats summariesonly=true count(All_TPS_Logs. The workaround I have been using is to add the exclusions after the tstats statement, but additional if you are excluding private ranges, throw those into a lookup file and add a lookup definition to match the CIDR, then reference the lookup in the tstats where clause. g. : < your base search > | top limit=0 host. BrowseFunctions that you can use to create sparkline charts are noted in the documentation for each function. See About internal commands. Give this version a try. It does not help that the data model object name (“Process_ProcessDetail”) needs to be specified four times in the tstats command. HVAC, Mechanics, Construction. Click for full image. Use the tstats command to perform statistical queries on indexed fields in tsidx files. 60 7. Appending. Event-generating (distributable) when the first command in the search, which is the default. Pivot The Principle. The tstats command for hunting. Like for example I can do this: index=unified_tlx [search index=i | top limit=1 acct_id | fields acct_id | format] | stats count by acct_id. Q2. Description: Statistical functions that you can use with the timechart command. I'm then taking the failures and successes and calculating the failure per. Use the tstats command to perform statistical queries on indexed fields in tsidx files. There are three supported syntaxes for the dataset () function: Syntax. RichG RichG. The main commands available in Splunk are stats, eventstats, streamstats, and tstats. log". appendcols. normal searches are all giving results as expected. I generally would prefer to use tstats (and am trying to get better with it!), but your string does not return all indexes and sourcetypes active in my environment. Not so terrible, but incorrect 🙂 One way is to replace the last two lines with | lookup ip_ioc. Since spath extracts fields at search time, it won't work with tstats. The format operands and arguments allow users to customize. I don't seem to be able to execute TSTATS (possibly any generating command with a leading pipe although I haven't tested others) From the logs: 09-23-2016 21:09:11. The metadata command returns a list of sources, sourcetypes, or hosts from a specified index or distributed search peer. So you can see details like file name, size, type of file, access permissions, UIDs and GIDs, as well as Access/Modify/Change times. summariesonly=all Show Suggested Answer. The in. If you feel this response answered your. The eval command calculates an expression and puts the resulting value into a search results field. It wouldn't know that would fail until it was too late. Wed, Nov 22, 2023, 3:17 PM. The stats By clause must have at least the fields listed in the tstats By clause. txt. ststr(commands) applies Stata or user-defined commands to string forms of the stats( ), use this option to attach symbols or concatenate, comma delimited, use compound quotes if there is a comma in the command, usually limited to stats specified in stats( ), also see stnum( ) above eform specifies coefficients to be reported. The first thing to note is the dedup command returns events, which contrasts with stats commands which return counts about the data. The problem up until now was that fields had to be indexed to be used in tstats, and by default, only those special fields like index, sourcetype, source, and host are indexed. スキーマオンザフライで取り込んだ生データから、相関分析のしやすいCIMにマッピングを行うSplunkTrust. ID: The filesystem ID in hexadecimal notation. The indexed fields can be from indexed data or accelerated data models. The eventstats search processor uses a limits. The appendcols command can't be used before a transforming command because it must append to an existing set of table-formatted results, such as those generated by a transforming command. Netstats basics. As a user, you can easily spot if your searches are being filtered using this method by running a search, such as index=*, and click Job > Inspect Job, click Search job properties, and identify potential search-time fields within. ---Hi, ive been having issues with using eval commands with the status field from the Web datamodel specifically with the tstats command. EXEC sp_updatestats;This is a simple tstats query shows all hosts and sourcetypes that have reported data, and shows the time in seconds since anything was sent. Stata cheat sheets. Such a search requires the _raw field be in the tsidx files, but it is. In this example, I will demonstrate how to use the stats command to calculate the sum and average and find the minimum and maximum values from the events. Laura Hughes.